【问题标题】:PHP: display most recent images from directory?PHP:显示目录中的最新图像?
【发布时间】:2010-10-02 23:44:00
【问题描述】:

我有一个摄像头服务器将图像通过 FTP 传输到网络服务器。谁能建议我需要的 PHP sn-p 可以查看服务器的公共根目录 (/public_html) 并显示最近的四个图像?

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

谢谢!

【问题讨论】:

    标签: php html image ftp


    【解决方案1】:

    我整理了一些可以帮助你的东西。这段代码显示了服务器根目录中最近的图像。

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

    【讨论】:

      【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-08
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多