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

Php 如何显示文件夹中的所有.jpg图片,但我只想要今天的图片,php,html,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_201

我希望我能说清楚。我有一个摄像头,每秒钟都会向我的网站发送一张图片。它们在文件夹中汇总如下:

(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 />';
}
?>

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


我希望有人能帮助我编写此代码。

我没有测试此代码,但是:

<?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&m=12&day=13

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

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

你试过了吗

$dayInQuestion = '20130413';
glob($dirname."(IPCAM)_0_".$dayInQuestion."*.jpg"); 
和你的约会


参考:PHP手册了解更多选项,例如,

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

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

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

可以找到工作示例

在示例中选择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>

堆栈溢出应答
$(函数(){
$(“#日期选择器”)。日期选择器({
onSelect:函数(日期、实例){
window.location=“?date=“+日期;
}
});
});
日期:


哇,你真的应该用这个@PatrickFalize我看到samuelcook已经将dayinQuestion与date(“Ymd”)进行了推广,这应该可以解决您的prb问题。我想使用
(IPCAM)0.$today
而不是
“*”。$today
会更好(甚至是必需的),由于后者可以将文件与时间匹配,如
20:13:04.13
,但不同的日期我目前正在研究解决方案,请参见下面的答案-我相信这就是您所寻找的。