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 :: Версия для печати :: upload
Форумы портала PHP.SU » PHP » Программирование на PHP » upload

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

1. login - 03 Ноября, 2009 - 13:49:36 - перейти к сообщению
Загружаю файл, указываю имя файла, и он теряет расширение. Как мне указать нужное имя и не потерять расширение файла, имея следующие:
PHP:
скопировать код в буфер обмена
  1. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  2. {...

например, если загружать фото(.JPG) нужно создать файл myname.JPG
2. Champion - 03 Ноября, 2009 - 14:01:53 - перейти к сообщению
ну так $uploadfile - строка. Просто допиши к ней в конец расширение и всё. Можешь взять расширение из оригинального имени файла.
3. login - 03 Ноября, 2009 - 14:43:01 - перейти к сообщению
Champion пишет:
ну так $uploadfile - строка. Просто допиши к ней в конец расширение и всё. Можешь взять расширение из оригинального имени файла.

$uploadfile содержит 'myname'. я загружаю фото разных форматов, но как взять расширение из имени временного файла, не совсем понимаю(
На примере этого, можно ли объяснить??
4. Champion - 03 Ноября, 2009 - 14:50:45 - перейти к сообщению
Не из временного: $_FILES['uploadfile']['name']
5. Nestor - 03 Ноября, 2009 - 14:51:51 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. move_uploaded_file($_FILES['uploadfile']['tmp_name'],'/somedir/'.$_FILES['uploadfile']['name']);

Copy лутше не использовать.
6. JustUserR - 03 Ноября, 2009 - 16:10:51 - перейти к сообщению
login Как вариант в массиве FILES также хранится MIME-тип по которому можно сделать расширение
7. biperch - 03 Ноября, 2009 - 18:48:03 - перейти к сообщению
Я голосую за такой вариант:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $_FILES['userfile']['name'] -- содержит оригинал имя передаваемого файла
  4. $_FILES['userfile']['tmp_name'] --- содержит путь к загруженному файлу
  5.  
  6.  
  7.  
  8. $uploadfile = $uploaddir . $_FILES['userfile']['name'];
  9.  
  10. move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
  11.  
  12.  

 

Powered by ExBB FM 1.0 RC1