1

私は自分自身を明確にすることができれば幸いです。私のウェブサイトに毎秒画像を送信するウェブカメラがあります。それらはすべて、次のようにフォルダーにまとめられます。

(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: **]を選択して、その日に撮影したすべての写真を取得できるように、カレンダーが必要です。

誰かがこのコードで私を助けてくれることを願っています。

4

5 に答える 5

2

試しましたか

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

あなたの日付で?

参照: その他のオプションについては PHP マニュアルを参照してください。例: http://www.php.net/manual/en/function.glob.php#110340

于 2013-04-13T14:57:05.050 に答える
1

今日の文字列を作成し、画像と照合します。したがって、すべての画像 (*) を取得する代わりに、画像名を今日の文字列と照合します。

date_default_timezone_set('America/New_York');
$today = date("Ymd");
$files = glob($dirname.'*'.$today.'*.jpg');
于 2013-04-13T15:01:05.580 に答える
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&m=12&day=13

于 2013-04-13T14:56:10.990 に答える
0

写真が一貫した命名スキームを使用している限り、strstr を使用してファイル名で写真をフィルタリングできるはずです。このようなもの、多分:

<?php 
$dirname = "./";
$daynum = "13";
$images = glob($dirname."*.jpg");
foreach($images as $image) {
    if (strstr($image, 'Day' + $daynum))
    {
        echo '<img src="'.$image.'" /><br />';
    }
}
?>
于 2013-04-13T14:56:52.977 に答える
0

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>
于 2013-04-13T15:57:53.453 に答える