我正在尝试在上传图像时重命名图像文件名(如果存在),假设我的文件名是 test.jpg
并且它已经存在我想将其重命名为 test1.jpg
然后是 test2.jpg
等等。使用我编写的代码更改我的文件名,例如 test1.jpg
然后是 test12.jpg
任何关于修复此问题的建议都将非常感谢!
PHP
$name = $_FILES['picture']['name'];
$actual_name = pathinfo($name,PATHINFO_FILENAME);
$extension = pathinfo($name, PATHINFO_EXTENSION);
$i = 1;
while(file_exists('tmp/'.$actual_name.".".$extension))
{
$actual_name = (string)$actual_name.$i;
$name = $actual_name.".".$extension;
$i++;
}
最佳答案
这是我认为应该做的小修改:
$actual_name = pathinfo($name,PATHINFO_FILENAME);
$original_name = $actual_name;
$extension = pathinfo($name, PATHINFO_EXTENSION);
$i = 1;
while(file_exists('tmp/'.$actual_name.".".$extension))
{
$actual_name = (string)$original_name.$i;
$name = $actual_name.".".$extension;
$i++;
}
关于如果存在,PHP重命名文件名将数字附加到结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16136519/