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
Форумы портала PHP.SU :: Версия для печати :: php. Как задать формат нового имени загружаемого файла (на выбор)?
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » php. Как задать формат нового имени загружаемого файла (на выбор)?

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

1. DimaP - 24 Августа, 2016 - 22:20:42 - перейти к сообщению
Есть форма для загрузки файлов. Код ниже:
https://jsfiddle[dot]net/4v40teek/14/

Также есть php код, обрабатывающий эту форму:
CODE (htmlphp):
скопировать код в буфер обмена
  1. [/code]if(is_uploaded_file($_FILES["filename"]["tmp_name"])) {
  2.  
  3. move_uploaded_file($_FILES["filename"]["tmp_name"], "D:\Марина диск E" . $_FILES["filename"]["name"]);
  4. echo 'Файл успешно загружен';
  5. }
  6.  
  7. else {
  8. echo 'При загрузке файла произошла ошибка';
  9. }


Необходимо задать формат нового имени загружаемого файла на выбор (т. е., грубо говоря, при загрузке файла изменять его имя):
- формат 1: текущий год-месяц-день
- формат 2: текущий год-месяц-день часы: минуты
- формат 3: случайное имя длиной 5 символов

Я сделал это следующим образом.
CODE (htmlphp):
скопировать код в буфер обмена
  1. //формат 1, формат 2
  2. $t1 = time();
  3. $arr[0] = date('Y-m-d', $t1);
  4. $arr[1] = date('Y-m-d H:i', $t1);
  5.  
  6. //формат 3
  7. $name = null;
  8. $i = 0;
  9. $arra = array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0');
  10.  
  11. While ($i != 5){
  12. $a = array_rand ($arra);
  13. $name = $name . $a;
  14. $i++;
  15. }
  16. $arr[2] = $name;
  17.  
  18. //Вот сама строчка, изменяющая имя
  19. $_FILES["filename"]["name"] = array_rand ($arr);


Но фишка вот в чём:
Необходимо сверстать форму с загрузкой файлов, где есть ПЕРЕКЛЮЧАТЕЛЬ, ИЗМЕНЯЮЩИЙ ИМЯ. То-есть input type = "radio". При этом формат 3: случайное имя длиной 5 символов (где цифра 5 - текстовое поле, которое можно менять). Как это сделать я вообще понятия не имею. Чисто кодом написал, но вот как сделать изменения имени через переключатели... а в особенности через текстовое поле... помогите плиз

 

Powered by ExBB FM 1.0 RC1