2014-12-23 4 views
-3

Я пытаюсь переименовать файлы изображений после загрузки, вот мой код.php переименовать файл и добавить расширение

if (isset($_POST['image'])){ 


$file_name = $_POST['image']; 

$extention = pathinfo("$file_name ",PATHINFO_EXTENSION); 

rename("files/" . $file_name,"files/" . uniqid() . $extention); 

echo "done"; 

} 

Works, но имя файла получает отображается следующим образом

5498e85c85b89jpeg 
5498e85c85b89jpeg 

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

5498e85c85b89.jpeg 
5498e85c85b89.jpeg 

Должен ли я еще раз переименовать операцию, чтобы исправить это? или есть работа вокруг?

ответ

3

Соединить с . в вашем rename вызова:

rename("files/" . $file_name,"files/" . uniqid() . "." . $extention); 

BTW, вам необходимо дезинфицировать вход. Если он содержит какие-либо компоненты ../, он сможет переименовывать файлы за пределами подкаталога files/.

1

пожалуйста, используйте этот

rename("files/" . $file_name,"files/" . uniqid() .".".$extention); 
Смежные вопросы