【问题标题】:Get image src from an Array Key value and display in PHP从 Array Key 值中获取图像 src 并在 PHP 中显示
【发布时间】:2020-01-01 17:37:32
【问题描述】:

我使用了以下代码示例 (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 值匹配的图像,但我很难理解如何做到这一点。

如果能在正确的方向上提供任何帮助,我将不胜感激。

【问题讨论】:

  • 解决了这个问题,见下文

标签: php html arrays


【解决方案1】:

可能不是最好的方法,但我解决了这个问题

<img src="<?php echo $dir.$photos[$key]['FileName']; ?>">

我对 php 和数组的缺乏经验导致了这一点,但在阅读了一些之后,我发现了它及其工作原理。

谢谢。

【讨论】:

    猜你喜欢
    • 2019-06-13
    • 1970-01-01
    • 2017-05-12
    • 2013-09-11
    • 2016-11-16
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多