我使用了以下代码示例(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,
];
}
}
?>
然后,我编写了一个带有 if 语句的 array_search 来输出密钥编号,如果在浏览器刷新时“DateTimeOriginal”的 exif 数据和 $timenow(我设置为固定日期)之间存在匹配,或者如果没有则说“不”匹配
<?php
if ($key = array_search($timenow, array_column($photos, 'DateTimeOriginal')))
{
echo $key;
} else {
echo "nope";
}
?>
这有效,并且行为符合预期。然而,我最终想要它做的是显示与数组的 $key 值匹配的图像,但我正在努力理解如何做到这一点。
我将不胜感激在正确方向上的任何帮助。