从数组键值中获取图像源并以 PHP 显示



我使用了以下代码示例(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 和数组缺乏经验导致了这种情况,但经过一番阅读后,我确信它及其工作。

谢谢。

最新更新