Генерация имен – Генератор случайных имен фамилий и отчеств онлайн

Онлайн генератор имен и ников персонажей

Новости

Близзард активировали возможность прохождения Осады Оргриммара в кросс-серверном режиме. Причем на обоих максимальных уровнях

Пандария

Вот накопилась очередная порция информации из разряда ни туда, ни сюда. Конечно, на новость

Советы

На серверах активен новый эвент – Лунный Фестиваль 2017! В этом году он был

Подземелья

Сетеш – босс из Чертогов Созидания Подпишись на канал MMOHelper в Яндекс.Дзен

Подземелья

Девушка-нежить, которая одержима жаждой мести и ненавидит Алый орден. Подробнее можно прочитать в статье:

Новости

Катаклизм: Общее Будут ли все маунты с 280% скоростью летать с 310%, если у

www.mmohelper.ru

Генерация уникальных имён для загружаемых файлов

C самых первых проектов, поддерживающих загрузку файлов на сервер, любой программист сталкивается с необходимостью генерации уникальных случайных имён для загруженных файлов. Рассмотрим несколько вариантов решения данной проблемы.

Предположим, мы должны сохранять все файлы в одну папку. Чтобы файлы не повторялись и чтобы не возникало проблем с кириллицей нам лучше давать им уникальные имена вида

f1ga2343h5bc3
537f2ha8b321a
dh520h4aac370

или

f1ga2343h5bc3534fa.jpg
537f2ha8b321adf676.jpg
dh520h4aac370aac09.gif

Самый лёгкий вариант – это использование встроенной в PHP функции uniqid():

Эта функция вернёт случайную 13-символьную строку. Если же нужно делать имена длиннее, то можно использовать функции вычисления хэша от случайной строки:

$filename = md5(microtime() . rand(0, 9999));

Функция md5() генерирует 32-символьную строку. Можно, конечно использовать любую другую функцю. При желании можно установить любую длину от 1 до 32 обрезав md5-хэш функцией substr():

$filename = substr(md5(microtime() . rand(0, 9999)), 0, 20);

Если нужно хранить файл с расширением, то его расширение можно легко приписывать к идентификатору:

$extension = 'jpg'; $filename = uniqid() . '.' . $extension;

Это простые способы, но у них есть один недостаток: уникальность имени не контролируется, а следовательно имеется вероятность перезаписи старого файла при случайной генерации такого же имени для нового файла. И эта вероятность тем выше, чем больше файлов сохранено.

Чтобы избежать перезаписи нам необходимо проверять папку на отсутствие такого же файла. Напишем функцию, избавленную от этого недостатка:

 @author [email protected] @link https://elisdn.ru
 
class DFileHelper
{
    public static function getRandomFileName($path, $extension='')
    {
        $extension = $extension ? '.' . $extension : '';
        $path = $path ? $path . '/' : '';
 
        do {
            $name = md5(microtime() . rand(0, 9999));
            $file = $path . $name . $extension;
        } while (file_exists($file));
 
        return $name;
    }
}

Здесь в постусловии цикла осуществляется проверка на существование файла. Если файл с таким именем уже есть, то генерируется следующее имя. Вместо md5(microtime() . rand(0, 9999)) для генерации идентификатора можно использовать любой вариант из разобранных выше.

Рассмотрим пример загрузки изображения с использованием данной функции:

$path = 'upload/images';
 

$extension = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1));
 

$filename = DFileHelper::getRandomFileName($path, $extension);
 

$target = $path . '/' . $filename . '.' . $extension;
 

move_uploaded_file($_FILES['image']['tmp_name'], $target);

В Yii для получения расширения удобно пользоваться объектом $file класса CUploadedFile:

class Post extends CActiveRecord
{
    const IMAGE_PATH = 'upload/images';
 
    protected function beforeSave()
    {
        if (parent::beforeSave())
        {
            if ($file = CUploadedFile::getInstance($this, 'image'))
            {               
                $extension = strtolower($file->extensionName);
                $filename = DFileHelper::getRandomFileName(self::IMAGE_PATH, $extension);
                $basename = $filename . '.' . $extension;
 
                if ($file->saveAs(self::IMAGE_PATH . '/' . $basename))              
                    $model->image = $basename;
            }           
 
            return true;
        } 
        else 
            return false;
    }
}

С помощью функции DFileHelper::getRandomFileName() мы генерируем уникальное имя файла для папки upload/images и используем это имя для загрузки. Теперь файлы никогда не перезапишутся, так как имена никогда не совпадут.

elisdn.ru

Генератор имен и фамилий для зеннопостер – Двухголовый интернет-маркетинг

Всем привет. Сегодня я хочу положить начало рубрике «Халява». В рамках этой рубрики мы будем выкладывать на наш сайт шаблоны зеннопостер, которые сами делали или будем делать под свои нужды. Надеемся, что эти шаблоны будут кому-нибудь полезны.

Итак, первый маленький шаблончик для вас.

Для решения некоторых задач в нашей работе, например создание аккаунтов в соцсетях или e-mail, требуется указать имя и фамилию пользователя. Когда такой пользователь один, то все просто, а если много? То здесь нам на помощь и приходит этот шаблон — генератор имен и фамилий. В зависимости от настроек, он генерирует имя и фамилию женщины или мужчины и сохраняет их в текстовый файл. Скриншот настроек шаблона:

Если нужен большой список имен и фамилий, то шаблон можно запустить нужное количество раз и уже через несколько секунд получить заветный список случайных имен.

А вот и сам шаблон, скачать его можете по ссылке: Генератор Фамилии и имени

Надеюсь что мы помогли кому-то решить такую небольшую, но иногда важную задачку по генерации имен.

prudbros.ru

Генератор ников онлайн, RPG, RP, MMORPG, РПГ, РП, ММОРПГ на русском, английском

Где взять несколько десятков выдуманных фамилий или имен? А если необходимо несколько сотен необычных логинов? Столько придумать никакой фантазии не хватит! Быстро справиться с подобной проблемой поможет онлайн генератор ников, логинов, фамилий, имен и отчеств! Благодаря нашему генератору имен можно оперативно заполнить тестовые базы данных и электронные таблицы, придумать себе псевдоним или просто расширить свои знания о наличии тех или иных имен в русском языке. У нас Вы найдете не только привычных всем Александров, Андреев или Сергеев, но и имена, о существовании которых Вы даже и не догадываетесь! Не верите? Попробуйте сами прямо сейчас!

&nbsp

ЛюбаяABCDEFJHIJKLMNOPQRSTUVWXYZПервая буква ника

Любое3456789101112131415Количество букв в нике

12Тип генератора

Генерировать send

&nbsp

При помощи этого генератора имен Вы сможете — сгенерировать красивый ник для своего будущего персонажа в игре wow, lineage или cs.

Страна Карлик Эльф

Гном Хоббит Саксонское

Орк Кабак Город


&nbsp

ЧеловекПолуоркОркРаса:

Генерировать send

onlinegenerator.pw

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *