2015-10-22 3 views
0

Я хочу спросить, есть ли у меня веб-форма, и люди используют его для загрузки чего-то в свой db. Если 2 человека загрузили один и тот же файл с тем же именем, в каталоге uploads один из них заменит другой. Поэтому мне нужно изменить имя каждого файла, загруженного в db, на: filename201405051200.pdf или jpg или ... Здесь у нас есть имя файла для примера image1, а цифры - дата и время загрузки. Так что любая помощь. Я использую код, указанный в качестве ответа на ссылку ниже:Кодирование загруженных файлов имя

Uploading blob files/images into Mysql

Я использовал этот код:

$path = "../uploads/".$_FILES['file']['name']; 
if(move_uploaded_file($_FILES["file"]["tmp_name"], $path.'_'.time())){ 
... 
} 

но теперь тип формата файла заменяется временем. Так что, если он IMG.jpg это теперь img85890338jpg и привычка открыта правильно

+1

Что именно не работает? Пожалуйста, покажите нам код, который вы уже написали. –

+0

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

+0

вы используете функцию rand (111111,999999) с вашим именем файла для установки уникального имени файла. –

ответ

1

Вы можете использовать pathinfo извлечь расширение файла:

$fileExt = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); 

После этого вы можете создать новое имя файла:

if(move_uploaded_file($_FILES["file"]["tmp_name"], $path.'_'.time().date().'.'.$fileExt)) { 

} 
+0

Удивительный, спасибо, но сейчас я предпочитаю использовать дату и time: move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ path .'_ '. time(). date().'. '. $ ext) и $ ext = pathinfo ($ path, PATHINFO_EXTENSION) ; – droidnation

Смежные вопросы