我正在尝试在上传后重命名图像文件,这是我的代码。
if (isset($_POST['image'])){
$file_name = $_POST['image'];
$extention = pathinfo("$file_name ",PATHINFO_EXTENSION);
rename("files/" . $file_name,"files/" . uniqid() . $extention);
echo "done";
}
有效,但文件名显示如下
5498e85c85b89jpeg
5498e85c85b89jpeg
如何在扩展名前添加点? 使文件名显示如下
5498e85c85b89.jpeg
5498e85c85b89.jpeg
我应该另一个重命名操作来解决这个问题吗? 还是有解决方法?
在rename
调用中连接一个.
:
rename("files/" . $file_name,"files/" . uniqid() . "." . $extention);
顺便说一句,您需要清理输入。如果它包含任何../
组件,它将能够重命名 files/
子目录之外的文件。
请使用这个
rename("files/" . $file_name,"files/" . uniqid() .".".$extention);