我希望我能说清楚。我有一个网络摄像头,每秒都会向我的网站发送一张图片。他们都总结在这样的文件夹中:
(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: **]
并获取当天拍摄的所有照片。
我希望有人可以帮我解决这个问题。
答案 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>