PHP:显示目录中的最新图像?

时间:2010-10-02 23:44:00

标签: php html image ftp

我有一台摄像头服务器将图像FTP到网络服务器。任何人都可以建议我需要的PHP代码片段通过服务器的公共根目录(/ public_html)查看并显示最近的四个图像吗?

我可以告诉相机服务器按日期/时间命名上传的图像,但需要[例如。 image-021020102355.jpg为2010年第二季度晚上11:55创建的图像

谢谢!

2 个答案:

答案 0 :(得分:2)

我把一些可以帮助你的东西放在一起。这段代码显示服务器根目录中的最新最新映像。

<?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;
    }
?>

答案 1 :(得分:2)

这应该这样做:

<?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