Генератор пользователей по крону

2112
Делал для себя, решил поделиться, возможно кому то пригодится.
Рассчитано на структуру БД первой ветки.

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


В архиве три файла.
Сам скрипт. В настройках крона пропишите путь к этому скрипту на вашем хостинге и укажите как часто его нужно запускать.
В той же папке что и php файл должно лежать два текстовых файла.

В одном из них вам необходимо собрать названия городов из которых будут ваши юзеры, в другом - имена. Имена должны быть одного пола.
По умолчанию идет мужской.

Для чередования мальчик - девочка создайте второй каталог, загрузите туда то же самое из архива, только теперь в текстовом файле с именами укажите все женские имена, а в php файле измените строку 56
Код PHP:
  1. VALUES (@LastID, @LastID, '$city', 'm');";
здесь нужно заменить 'm' на 'f'.

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

Еще немного о настройках, для тех, кому совсем ничего не понятно.
В php коде:
год рождения пользователей формируется в строке 13. Сейчас там используется диапазон с 1955 по 1995 год. Если хотите что бы ваши пользователи были старше или младше, можете указать другой минимальный и максимальный год рождения.

14 строка месяц рождения. С первого месяца не указал, так как с ходу не нашел, как подставлять ноль к месяцами типа январь, февраль 01, 02, и посчитал что пока не стоит на это заморачиваться). Возможно в комментах кто нибудь подскажет), до тех пор используются месяца с двузначным числовым значением.))

15 строка - Дни месяца. С двузначные числа которые точно есть в месяцах 10-12

Логин пользователя. Сейчас он выглядит примерно так id153518130953, формируется по такому принципу: префикс id (вы можете его заменить на user, muser, chel)+год+порядковый номер дня в году+час+минута+секунда+случайное число в диапазоне от 1 до 99

Email пользователя в строке 53 $[email protected] - замените site.com на ваш домен. Уведомления предназначенные для этого пользователя будут поступать на ваш главный почтовый ящик, если настроен на прием почты с несуществующих адресов с домена.

Пароль пользователя в строке 53 вот это 9bc1ad6e0615c952
Если хотите заменить на известный вам пароль, посмотрите в php админ как выглядит в зашифрованном виде нужный вам пароль и вставьте вместо этого.


Перед употреблением рекомендую тестировать на копии сайта, перед употреблением на основной версии сайта, рекомендую делать копии.
У меня всё работает. Полет нормальный.

Рекомендую изменить как название каталога так и название php файла на свои.

Скачать /users/files/download5788.html

Если кто то хочет улучшить решение, не стесняйтесь)

UPD 18.12.2015

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


UPD 18.12.2015

Во время использования в полевых условиях всплыл один момент, который я упустил. Время на сайте и время на сервере.
Если у вас на сайте(Админ - панель - Настройки - Время) выставлено смещение в часах и если параллельно с генератором пользователей работает обычная регистрация, может возникнуть ситуация при которой пользователь зарегистрировавшийся обычным способом в списке пользователей встанет не последним в ряд, а на несколько пунктов ниже. В принципе не критично, но не очень хорошо) Это связано с тем, что в настройках сайта вы указали смещение например минус 2 часа, и сайт использует это время, а скрипт - нет. Что бы этого не было в скрипте в строке 8, укажите то же смещение в часах, которое вы указали в настройках сайта в админ панели.
Указывать нужно в секундах, 1 час = 3600 (прибавить или отнять в зависимости от ваших настроек времени на сайте)

Пример:
У меня в настройках сайта стоит смещение -5 часов, поэтому смещение будет в секундах 18000
строка 8 выглядит вот так
Код PHP:
  1. $dat = date("Y-m-d H-i-s" , time() - 18000);
Разные иконки для категорий форума (Первая ветка) | Ограничение на просмотр контактов в объявлениях и отправка их в ответ на смс
Комментарии (10)
Кирилл Эдуардович (Странник) 17 декабря 2015 в 15:08 +1
Дорогой друг, мы с вами обсуждали уже (за пивом), как забить новых пользователей в базу, чтобы связи между таблицами cms_users и cms_user_profiles не соответствовали модели хранения информации о пользователе в Первой ветке и не искажались.

Однако мне до сих пор непонятно, зачем вам этот генератор нужен. Какие цели вы ставили перед собой, когда садились его писать? Как собираетесь применять? Зачем он пользователям?

Разъясните, плиз.

Спасибо.
Кирилл Эдуардович (Странник) 17 декабря 2015 в 15:12 0
Сорри - следует читать "чтобы связи между таблицами cms_users и cms_user_profiles соответствовали модели хранения..." и далее по тексту

Привет Fuze и r2, которые никак не могут включить в блогах редактирование ошибок, хотя их сотни пользователей об этом просят из года в год.
Нил™ 17 декабря 2015 в 15:14 +1
Ну не знаю, когда сайт только создан, как то грустно смотреть на список пользователей где Админ, Федор и Вася. А так можно немного расширить список пользователя для начала такими пользователями, потом, когда народ подтянется (если), генератор можно и отключить). Забивать же ручками пользователей по одному для тех же целей нового сайта, как то утомительно) Здесь можно либо напрямую обращаясь к скрипту через браузер сразу создать человек дцать для фасона либо по крону пусть сами добавляются с интвервалом.)
Это один из вариантов, когда, по-моему, он может пригодиться)
Кирилл Эдуардович (Странник) 17 декабря 2015 в 15:16 0
Теперь более-менее понятно. Жаль, вы не описали свою задумку в основном тексте в виде главки "Постановка задачи". Спасибо.
Олег Васильевич я 17 декабря 2015 в 15:38 0
Как по мне, хорошая задумка!
Спасибо!
Dost 17 декабря 2015 в 18:38 0
В хозяйстве пригодится. Спасибо!
Glushok 18 декабря 2015 в 16:47 0
Хорошее решение для сайтов знакомств, мне бы такое пригодилось для второй ветки, только надо чтоб еще и аватар генерировало но не какую то абстракцию а для женского пола фото девушек для мужского фото мужчин. Даже прикупил бы такое. есть скрипт знакомств. Есть скрипт знакомств matchmescript так там такая функция предусмотрена изначально, выбираешь кого генерировать мужчину или женщину затем страну и все сайт знакомств полный пользователей.
Нил™ 18 декабря 2015 в 17:06 +3
Для подобных расширенных задач с прицелом на будущее, я рекомендую изначально помещать таких пользователей в отдельную группу. Потом зная группу в которой они собраны будет проще мутить рандомную смену статусов, аватаров дружбу и т п. С помощью отдельных дополнений.
Glushok 19 декабря 2015 в 12:08 0
Может кто сделает такое по вторую ветку, вед такое будет актуально не только для сайта знакомст, так как после создания проекта пользователи нужны, так как охотнее люди регистрируются оставляют коменты и тд. на сайте где есть пользователи нежели на пустом сайте.
Шадринец 31 марта 2019 в 01:28 0
Хоть и старая тема но актуальна. Друзья кто решится на подвиг и выдаст такое решение для двойки?