douhuang1973 2017-12-18 16:56
浏览 250
已采纳

使用exiftool将图片中的元数据提取到json对象中

I'm developing a website where I need to extract the metadata of an image (jpeg) with exiftool. I'm doing it with this code:

$cmd = exec("exiftool ".$this->url, $result);

$result is now a classic array:

array (size=113)
0 => string 'ExifTool Version Number         : 10.40' (length=39)
1 => string 'File Name                       : photo7.jpg' (length=44)
2 => string 'Directory                       : images' (length=40)
3 => string 'File Size                       : 139 kB' (length=40)
4 => string 'File Modification Date/Time     : 2017:11:26 16:27:05+01:00' (length=59)
5 => string 'File Access Date/Time           : 2017:12:17 23:07:18+01:00' (length=59)
6 => string 'File Inode Change Date/Time     : 2017:11:26 16:27:05+01:00' (length=59)
7 => string 'File Permissions                : rw-r--r--' (length=43)
8 => string 'File Type                       : JPEG' (length=38)
9 => string 'File Type Extension             : jpg' (length=37)
...

But I want to turn this array into an other array with meaningful keys and not numbers. Something even better would be to have a json object. In any case, I want the final array to looks like this:

    array (size=113)
'ExifTool Version Number' => string '10.40' (length=5)
'File Name' => string 'photo7.jpg' (length=10)
...

Is there a simple way to achieve this?

  • 写回答

2条回答 默认 最新

  • dousuize3082 2017-12-18 17:16
    关注

    Just split the strings at the colon...

    $result2 = array();
    foreach($result as $value){
        $tmp = preg_split("#\s*\:\s*#", $value);
        $result2[$tmp[0]] = $tmp[1];
    }
    $result = result2;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化