我使用了以下代码示例(https://github.com/josephtinsley/JQueryEXIFImageTags/blob/master/process.php(并对其进行了修改以扫描图像目录,并将其放入具有DateTimeOriginal匹配exif的数组中。
<?php
$date = new DateTime();
$date->setDate(2015, 9, 11);
$timenow = $date->format('Y:m:d H:i:s');
$dir = './img/';
$files = scandir($dir);
$ext_list = ['jpg', 'gif', 'png'];
foreach($files as $image_file)
{
$l = strtolower($image_file);
$parse_file_name = explode(".", $l);
$file_ext = end($parse_file_name);
if(in_array($file_ext, $ext_list) )
{
$exif_data = exif_read_data($dir.$image_file);
$photos[] = [
'FileName' =>$exif_data['FileName'],
'DateTimeOriginal' =>$exif_data['DateTimeOriginal'],
'TimeNow' =>$timenow,
];
}
}
?>
然后,Ive 用 if 语句编写了一个array_search,如果在浏览器刷新时"DateTimeOriginal"的 exif 数据与$timenow(我将其设置为固定日期(匹配,则输出密钥编号,如果没有匹配,则说"nope">
<?php
if ($key = array_search($timenow, array_column($photos, 'DateTimeOriginal')))
{
echo $key;
} else {
echo "nope";
}
?>
这有效,并且行为符合预期。 但是,我最终希望它做的是显示与数组$key值匹配的图像,但我很难理解如何做到这一点。
我将不胜感激任何正确方向的帮助。
可能不是最好的方法,但我用
<img src="<?php echo $dir.$photos[$key]['FileName']; ?>">
我对 PHP 和数组缺乏经验导致了这种情况,但经过一番阅读后,我确信它及其工作。
谢谢。