【发布时间】:2010-10-02 23:44:00
【问题描述】:
我有一个摄像头服务器将图像通过 FTP 传输到网络服务器。谁能建议我需要的 PHP sn-p 可以查看服务器的公共根目录 (/public_html) 并显示最近的四个图像?
我可以告诉相机服务器按日期/时间命名上传的图像,但需要 [例如。 image-021020102355.jpg 用于 2010 年 10 月 2 日晚上 11:55 创建的图像]
谢谢!
【问题讨论】:
我有一个摄像头服务器将图像通过 FTP 传输到网络服务器。谁能建议我需要的 PHP sn-p 可以查看服务器的公共根目录 (/public_html) 并显示最近的四个图像?
我可以告诉相机服务器按日期/时间命名上传的图像,但需要 [例如。 image-021020102355.jpg 用于 2010 年 10 月 2 日晚上 11:55 创建的图像]
谢谢!
【问题讨论】:
我整理了一些可以帮助你的东西。这段代码显示了服务器根目录中最近的图像。
<?php
$images = glob('*.{gif,png,jpg,jpeg}', GLOB_BRACE); //formats to look for
$num_of_files = 4; //number of images to display
foreach($images as $image)
{
$num_of_files--;
if($num_of_files > -1) //this made me laugh when I wrote it
echo "<b>".$image."</b><br>Created on ".date('D, d M y H:i:s', filemtime($image)) ."<br><img src="."'".$image."'"."><br><br>" ; //display images
else
break;
}
?>
【讨论】:
应该这样做:
<?php
foreach (glob('*.jpg') as $f) {
# store the image name with the last modification time and imagename as a key
$list[filemtime($f) . '-' . $f] = $f;
}
$keys = array_keys($list);
sort($keys); # sort is oldest to newest,
echo $list[array_pop($keys)]; # Newest
echo $list[array_pop($keys)]; # 2nd newest
如果您可以使文件名 YYYYMMDDHHMM.jpg sort() 可以将它们按正确的顺序排列,这将起作用:
<?php
foreach (glob('*.jpg') as $f) {
# store the image name
$list[] = $f;
}
sort($list); # sort is oldest to newest,
echo array_pop($list); # Newest
echo array_pop($list); # 2nd newest
【讨论】: