文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
之前有个插件会自动删除上传图片的EXIF和GPS信息,但是换服务器之后没注意一个很重要的依赖Imagick (ImageMagick) 在新服务器上默认没有启用(开启指南)。虽然现在已经启用了并且印象中这期间没有更新新文章,但是为了以防万一还是对所有上传的图片做一个EXIF信息清理吧。步骤如下:
打包备份下载WP-Content/Uploads,里面是所有上传的图片以及WordPress自动生成的一系列缩略图。其中生成的所有缩略图(文件名包含类似"-300x500"的格式)、PNG以及GIF图片是不包含EXIF以及GPS信息的,所以我们可以过滤删除它们,之后覆盖上传的时候就可以减少很多文件。这里可以用Linux Shell或者Windows PowerShell。
|
1 2 3 4 5 |
Get-ChildItem -Recurse -Filter "*.jpg" | Where name -match "-[0-9]{1,4}x[0-9]{1,4}.jpg$" | foreach { $_.Delete()} Get-ChildItem -Recurse -Filter "*.png" | foreach { $_.Delete()} Get-ChildItem -Recurse -Filter "*.gif" | foreach { $_.Delete()} |
然后就可以使用Exiftool批量删除EXIF包括GPS信息了。其中的"-all:all="表示删除所有的EXIF包括GPS信息,"--icc_profile:all"参数会保留ICC色彩特性文件(ICC Profile),"-overwrite_original"表示直接覆盖原文件,"-r"表示包含所有子目录。
|
1 |
exiftool.exe -all:all= --icc_profile:all -r -overwrite_original "C:\wp_contents\uploads" |
完成之后再将所有的文件覆盖上传就好了。
