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

时间:2016-03-09 12:53:34

标签: php ftp rename delete-file

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

不幸的是,网络摄像头上传了不同名称的每个文件(192.168.1.150xxxxxxxxxxxxxx.jpg)。

xxxxxxxxxxxxxx代表网络摄像头的时间戳。

我尝试制作一个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来自时间戳的最后一个。

任何帮助?

1 个答案:

答案 0 :(得分:0)

unlink($ file_name)函数删除文件。关于&#34; 5846cv895出现在名称&#34;尝试更换

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

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

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