我写了一个类来处理将.PSD上传到一个文件夹转换成.JPG的所以我可以在网站上显示它们。它结合使用PHP的文件函数和IMAGE MAGIK进行转换和文件移动。
最近我被要求在这个系统中添加一个功能来处理为每个JPG的元数据写出“标签”,以便MS SHAREPOINT可以索引图像并根据某些标签过滤它们。
我做了一些研究,我似乎找不到通过IMAGE MAGIK的类函数或PHP将元数据添加到JPG的简单方法。
这是包含一些代码段的过程。
上传到文件夹的图片 - >每次上传后,命令行图像magick脚本会在每个执行以下操作的图像上运行。
public function resizeImage($from, $to = $this->holdingdDir, $size = "945x945") {
$command = "\"C:\\Program Files\\ImageMagick-6.8.7-Q16\\convert.exe\" ";
exec($command.$from." -profile \"C:\\Program Files\\ImageMagick-6.8.7-Q16\\AdobeRGB1998.icc\" -flatten -resize ".$size."x".$size." ".$to, $aOutput, $retVal);
return array(
"command" => $command.$from." ".$to,
"from" => $from,
"to" => $to,
"output" => $aOutput,
"return" => $retVal
);
}
将图像转换为JPG并移动到保留目录后,另一个脚本会将其拾取并将其移动到Web服务器上的最终位置。
public function send($source, $file, $dest, $perms='0777') {
return ftp_put($this->connection, $this->basePath.$dest."/".$file, $source, FTP_BINARY);
}
我假设有一些方法可以将元数据写入您创建的文件,但我没有太多运气找到方法。我已经包含了我要编辑的“元数据”的屏幕截图,它是在Windows中右键单击和图像时显示的相同数据字段,并选择“属性 - >详细信息”
任何帮助/指导都会很棒,
由于
更新 在做了一些更多的研究后,我认为我想编辑的数据被称为“EXIF - IDF”数据吗?我仍然在努力寻找一个能够轻松处理这些数据的插件或库。