如何在文件夹中显示所有.jpg图片,但我只想要今天的图片

时间:2013-04-13 14:50:04

标签: php html

我希望我能说清楚。我有一个网络摄像头,每秒都会向我的网站发送一张图片。他们都总结在这样的文件夹中:

(IPCAM)_0_20130413145714_62.jpg [Year: 2013] [mo: 04] [Day: 13] [Hour: 14] [min: 57] [Sec: 14]
(IPCAM)_0_20130413145719_63.jpg [Year: 2013] [mo: 04] [Day: 13] [Hour: 14] [min: 57] [Sec: 19]
(IPCAM)_0_20130413145723_64.jpg [Year: 2013] [mo: 04] [Day: 13] [Hour: 14] [min: 57] [Sec: 23]
(IPCAM)_0_20130413145727_65.jpg [Year: 2013] [mo: 04] [Day: 13] [Hour: 14] [min: 57] [Sec: 27]

你能看到图片名称中的图案吗?我正在使用这个脚本来显示它们:

<?php 
$dirname = "./";
$images = glob($dirname."*.jpg");
foreach($images as $image) {
echo '<img src="'.$image.'" /><br />';
}
?>

我想要一个日历,以便我可以选择[Day: **]并获取当天拍摄的所有照片。

我希望有人可以帮我解决这个问题。

5 个答案:

答案 0 :(得分:2)

你试过吗

$dayInQuestion = '20130413';
glob($dirname."(IPCAM)_0_".$dayInQuestion."*.jpg"); 

与你约会?

参考:PHP手册,了解更多选项,例如。http://www.php.net/manual/en/function.glob.php#110340

答案 1 :(得分:1)

为今天制作一个字符串,然后将其与您的图片进行匹配。因此,我们不是拉动所有图像(*),而是将图像名称与我们今天的字符串匹配:

date_default_timezone_set('America/New_York');
$today = date("Ymd");
$files = glob($dirname.'*'.$today.'*.jpg');

答案 2 :(得分:0)

我没有测试过这个,但是:

<?php 
$dirname = "./";
$images = glob($dirname."*.jpg");
$date = "[Year: ".$_GET['y']."] [mo:".$_GET['m']."] [Day: ".$_GET['d']."]";
foreach($images as $image) {
    if (strpos($image,$date) !== false) {
        echo '<img src="'.$image.'" /><br />';
    }
}
?>

请求:?y = 2013&amp; m = 12&amp; day = 13

答案 3 :(得分:0)

只要照片使用一致的命名方案,您就应该能够使用strstr按文件名过滤它们。这样的事情,也许是:

<?php 
$dirname = "./";
$daynum = "13";
$images = glob($dirname."*.jpg");
foreach($images as $image) {
    if (strstr($image, 'Day' + $daynum))
    {
        echo '<img src="'.$image.'" /><br />';
    }
}
?>

答案 4 :(得分:0)

这是我使用jQuery日期选择器的答案:

可以找到工作示例here

在示例中选择2013年4月13日

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>StackOverflow Answer</title>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
        <link rel="stylesheet" href="/resources/demos/style.css" />
        <script>
          $(function() {
          $( "#datepicker" ).datepicker({
                  onSelect: function(date, instance){
                      window.location = "?date="+date;
                  }
              });
          });
        </script>
    </head>
    <body>
        <p>Date: <input type="text" id="datepicker" /></p>
        <?php
            if($_GET)
            {
                $dirname = "IPCam/";
                $images = glob($dirname."*.jpg");
                $date = str_replace('/', '', $_GET['date']);
                $day = substr($date, 2, 2);
                $month = substr($date, 0, 2);
                $year = substr($date, 4, 4);
                $formattedDate = $year.$month.$day;
                foreach($images as $image)
                {
                    if(strpos($image, $formattedDate))
                    {
                        echo '<img src="'.$image.'" /><br />';
                    }
                }
            }
        ?>
    </body>
</html>