将FTP文件夹中具有不同名称(时间戳)的图像重命名为一个文件并删除其他文件


Rename images on FTP Folder with different Names(Timestamp) to One File and delete others

我有一个网络摄像头,每5分钟将图片上传到FTP文件夹。

不幸的是,网络摄像头上传具有不同名称的每个文件(192.168.1.150xx.jpg x

xxxx

我试图制作一个php脚本将jpg重命名为另一个名称。我不知道删除旧图像的代码。

我想每 6 分钟在我的主机服务器上使用 cron 作业运行一次它,这样我就会有一个稳定的名字,比如 meteotimb.jpg。

到目前为止,我有这个脚本:

<?php
$fileList = glob('192*.jpg');
var_dump($fileList);
foreach (glob("192*.jpg") as $filename) {
  echo "Renaming " . $filename . " now.</br>";
  $uniqid = uniqid();
  if(file_exists($filename)) {
    rename($filename, "meteotimb" . $uniqid . ".jpg");
    echo $filename . " is now meteotimb" . $uniqid . ".jpg</br>";
  }
}
?>

因此,当 cron 作业运行时,它将所有以 192 开头的图像重命名为 meteotimb5846cv895.jpg、meteotimb5896sjv845.jpg

我不知道为什么这个 5846cv895 出现在名字上。

我也不知道我应该用什么代码来删除所有 192. 重命名后的文件。 而且我只想要一个 meteotimb.jpg 保持时间戳中的最后一个。

有什么帮助吗?

unlink($file_name) 函数删除文件。关于"5846cv895出现在名称上",请尝试替换

rename($filename, "meteotimb" . $uniqid . ".jpg"); 

rename($filename, '"meteotimb" . $uniqid . ".jpg"');

请注意第二个参数中添加的单引号。