我有一个包含1000张图像的文件夹,我需要将它们从1.jpg随机重命名为1000.jpg,每次运行脚本时它必须完全是随机的。 我只需要每次运行脚本时1.jpg都不同即可。
到目前为止,我要做的就是以下代码。 请帮忙。谢谢<?php
if (file_exists('Image00001.jpg'))
{
$renamed= rename('Image00001.jpg', '1.jpg');
if ($renamed)
{
echo "The file has been renamed successfully";
}
else
{
echo "The file has not been successfully renamed";
}
}
else
{
echo "The original file that you want to rename does not exist";
}
?>
答案 0 :(得分:2)
检查此内容(如果有帮助)。我尝试了一下,它可以工作。创建一个php文件并复制代码,然后在同一目录中创建一个名为 files 的文件夹,并使用扩展名为 .jpg 的图像填充它,然后运行php文件。这是精炼的代码。让我知道这是否适合您。
<?php
$dir = 'files/'; //directory
$files1 = scandir($dir);
shuffle($files1); //shuffle file names
$i = 1; //initialize counter
//store existing numbered files in array
$exist_array = array();
while (in_array($i . ".jpg", $files1)) {
array_push($exist_array, $i . ".jpg");
$i++;
}
foreach ($files1 as $ff) {
if ($ff != '.' && $ff != '..') // check for current or parent directory, else it will replace the directory name
{
// check whether the file is already numbered
if (in_array($ff, $exist_array)) {
continue;
}
//next 3 lines is proof of random rename
echo $ff . " ---> ";
rename($dir . $ff, $dir . $i . ".jpg");
echo $i . ".jpg<br/>";
$i++;
}
}
?>