Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Генератор случайного имени

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как сделать простой генератор
kazmikro
Отправлено: 03 Мая, 2011 - 19:04:18
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Допустим есть файл загруженный на сервер , как дать ему случайное название ? допустим adsad4q55q13 чё нить такое !!! )))
 
 Top
molchun201
Отправлено: 03 Мая, 2011 - 19:10:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




md5()

можно регулярку написать и из неё уже рандомить имена


-----
Обрамляйте код тегами и читайте
 
 Top
vlom
Отправлено: 03 Мая, 2011 - 19:11:19
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




используй md5 - получай ее из самога файла
 
 Top
Champion Супермодератор
Отправлено: 03 Мая, 2011 - 19:14:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Не надо использовать md5 из самого файла. Если имеется в виду из имени файла, то имена файлов часто бывают не уникальными, а значит, что их хэши тоже. Если по содержимому файла, то это ресурсозатратная операция.
Есть функция uniqid() для генерации случайных вещей.
 
 Top
kazmikro
Отправлено: 03 Мая, 2011 - 19:16:41
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




ну например имя файла "photo" нуно обычный скрипт который будет генирировать случайное имя файла в случае если такое имя уже в базе есть md5 ? зачем ??? очень большое значение будет
 
 Top
vlom
Отправлено: 03 Мая, 2011 - 19:18:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




я имел не от имени файла а md5 по содержимому, да что-то о ресурсах не подумал
 
 Top
kazmikro
Отправлено: 03 Мая, 2011 - 19:23:38
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)






или

PHP:
скопировать код в буфер обмена
  1.  
  2.  function random($length = 32) {
  3.      static $randStr = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  4.      $rand = '';
  5.      for($i=0; $i<$length; $i++) {
  6.          $key = rand(0, strlen($randStr)-1);
  7.          $rand .= $randStr[$key];
  8.      }
  9.      return $rand;
  10.  }
  11.  echo random();
  12.  


Нашёл Радость Улыбка)))
 
 Top
EuGen Администратор
Отправлено: 03 Мая, 2011 - 19:24:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




$name = md5(uniqid(rand(),1));
Гораздо проще и быстрее.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
kazmikro
Отправлено: 03 Мая, 2011 - 19:28:39
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




EuGen пишет:
$name = md5(uniqid(rand(),1));
Гораздо проще и быстрее.


Да ты прав, уже пробую
(Добавление)
о вот сразу ещё одна мини проблемка

вот кусочек кода

PHP:
скопировать код в буфер обмена
  1.  
  2. if($_FILES['filename']['size'] > 1024*1024*2)
  3. {
  4. echo "Максимальный размер фото 2 МБ";
  5. } else {
  6.  if(copy($_FILES['filename']['tmp_name'],"photos/{$_FILES['filename']['name']}"))
  7.  {
  8.     $photoname = $_FILES['filename']['name'];
  9.    
  10. /// Всовываем в базу данных
  11.  
  12. echo $photoname."<br>";
  13.  
  14.  
  15. }
  16. }
  17.  


В итоге мне выводит переменная photoname название файла с .форматом
Например PHOTO.JPG ну и тд
как зделать чтоб переменная выводила только PHOTO без .JPG чтоб я мог поставить



и в итоге у меня чтоб получилось имя файла (сгенерированный + формат ) !
 
 Top
EuGen Администратор
Отправлено: 03 Мая, 2011 - 20:11:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Можете применять и с расширением.
Или же взять все кроме расширения (до последней точки в имени)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
kazmikro
Отправлено: 03 Мая, 2011 - 20:14:17
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




EuGen пишет:
Можете применять и с расширением.
Или же взять все кроме расширения (до последней точки в имени)


Можно пожалуйста пример
 
 Top
EuGen Администратор
Отправлено: 03 Мая, 2011 - 20:25:25
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




$name="PHOTO.NUMBER.ONE.JPG";
$cleaned_name=substr($name, 0, (int)strrpos('.', $name));


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Haron
Отправлено: 03 Мая, 2011 - 22:15:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010  
Откуда: Оттуда


Помог: 5 раз(а)




PHP:
скопировать код в буфер обмена
  1.         function generate_unique_id($len = false)
  2.         {
  3.                 $len ? $len : 16;
  4.                
  5.                 $arr = array
  6.                 (
  7.                                 'a','b','c','d','e','f',
  8.                                 'g','h','i','j','k','l',
  9.                                 'm','n','o','p','r','s',
  10.                                 't','u','v','x','y','z',
  11.                                 'A','B','C','D','E','F',
  12.                                 'G','H','I','J','K','L',
  13.                                 'M','N','O','P','R','S',
  14.                                 'T','U','V','X','Y','Z',
  15.                                 '1','2','3','4','5','6',
  16.                                 '7','8','9','0'
  17.                                 );
  18.                                 $code = "";
  19.                                 for($i = 0; $i < $len; $i++)
  20.                                 {
  21.                                         $index = rand(0, count($arr) - 1);
  22.                                         $code .= $arr[$index];
  23.                                 }
  24.                                 return $code;
  25.         }


-----
И чё?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB