Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сохранить файл с другим именем
 
 автор: ddimanich   (10.04.2007 в 14:17)   письмо автору
 
 

Загружаю файл. Необходимо его переименовать не трогая расширения.


...
 $uploaddir = 'blablabla/files/';
  if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir .$_FILES['userfile']['name']))
...

   
 
 автор: Trianon   (10.04.2007 в 14:28)   письмо автору
 
   для: ddimanich   (10.04.2007 в 14:17)
 

И что именно не получается?

   
 
 автор: ddimanich   (10.04.2007 в 14:32)   письмо автору
 
   для: Trianon   (10.04.2007 в 14:28)
 

есть blabla.jpg он закачивается на сервер с именем *.*, а необходимо что-б имя выглядело как $id = date("dmyHis"); с неизменным расширением файла т.е. локально он был как blabla.jpg а закачался как 100407143250.jpg

   
 
 автор: Trianon   (10.04.2007 в 16:00)   письмо автору
 
   для: ddimanich   (10.04.2007 в 14:32)
 

Судя по Вашему коду, он должен закачиваться с тем именем, которое у него было на клиентской машине. Во всяком случае, нужную конструкцию date("dmyHis") Вы даже не пытаетесь применить.

PS я бы поставил YmdHis . Упорядочивать замачаетесь. Но это детали.

   
 
 автор: ddimanich   (10.04.2007 в 17:47)   письмо автору
 
   для: Trianon   (10.04.2007 в 16:00)
 

... Как всегда немного серого вещества и желание побеждают "тягу знающих к помощи".

меня вполне устроит и такой разбор:

...
 $fn = $_FILES['userfile']['name'];
 list($nf,$rf) = explode(".",$fn);
 echo $nf;
 echo $rf;
...

   
 
 автор: Trianon   (10.04.2007 в 18:14)   письмо автору
 
   для: ddimanich   (10.04.2007 в 17:47)
 

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


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

Касательно тяги: Конструктивный диалог возможен лишь при двустороннем обмене. Так что победа здесь мнимая.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования