phpexiftool/exiftool 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phpexiftool/exiftool

Composer 安装命令:

composer require phpexiftool/exiftool

包简介

Exiftool is a library for reading, writing and editing meta information. This package is not PHP, but required for the main PHP driver : PHP Exiftool

README 文档

README

ExifTool by Phil Harvey (phil at owl.phy.queensu.ca)
----------------------------------------------------------------------------

ExifTool is a customizable set of Perl modules plus a full-featured
application for reading and writing meta information in a wide variety of
files, including the maker note information of many digital cameras by
various manufacturers such as Canon, Casio, FLIR, FujiFilm, GE, HP,
JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo,
Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh,
Samsung, Sanyo, Sigma/Foveon and Sony.

Below is a list of file types and meta information formats currently
supported by ExifTool (r = read, w = write, c = create):

  File Types
  ------------+-------------+-------------+-------------+------------
  3FR   r     | DV    r     | K25   r     | OFR   r     | RSRC  r
  3G2   r/w   | DVB   r/w   | KDC   r     | OGG   r     | RTF   r
  3GP   r/w   | DYLIB r     | KEY   r     | OGV   r     | RW2   r/w
  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWL   r/w
  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RWZ   r
  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | RM    r
  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SEQ   r
  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SO    r
  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SR2   r/w
  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRF   r
  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SRW   r/w
  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SVG   r
  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | SWF   r
  AVI   r     | FLA   r     | MKV   r     | PFB   r     | THM   r/w
  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TIFF  r/w
  BMP   r     | FLV   r     | MOBI  r     | PGF   r     | TORRENT r
  BTF   r     | FPF   r     | MODD  r     | PGM   r/w   | TTC   r
  CHM   r     | FPX   r     | MOI   r     | PLIST r     | TTF   r
  COS   r     | GIF   r/w   | MOS   r/w   | PICT  r     | VCF   r
  CR2   r/w   | GZ    r     | MOV   r/w   | PMP   r     | VRD   r/w/c
  CRW   r/w   | HDP   r/w   | MP3   r     | PNG   r/w   | VSD   r
  CS1   r/w   | HDR   r     | MP4   r/w   | PPM   r/w   | WAV   r
  DCM   r     | HTML  r     | MPC   r     | PPT   r     | WDP   r/w
  DCP   r/w   | ICC   r/w/c | MPG   r     | PPTX  r     | WEBP  r
  DCR   r     | ICS   r     | MPO   r/w   | PS    r/w   | WEBM  r
  DFONT r     | IDML  r     | MQV   r/w   | PSB   r/w   | WMA   r
  DIVX  r     | IIQ   r/w   | MRW   r/w   | PSD   r/w   | WMV   r
  DJVU  r     | IND   r/w   | MXF   r     | PSP   r     | WV    r
  DLL   r     | INX   r     | NEF   r/w   | QTIF  r/w   | X3F   r/w
  DNG   r/w   | ISO   r     | NRW   r/w   | RA    r     | XCF   r
  DOC   r     | ITC   r     | NUMBERS r   | RAF   r/w   | XLS   r
  DOCX  r     | J2C   r     | O     r     | RAM   r     | XLSX  r
  DPX   r     | JNG   r/w   | ODP   r     | RAR   r     | XMP   r/w/c
  DR4   r/w/c | JP2   r/w   | ODS   r     | RAW   r/w   | ZIP   r
  DSS   r     | JPEG  r/w   | ODT   r     | RIFF  r     |

  Meta Information
  ----------------------+----------------------+---------------------
  EXIF           r/w/c  |  CIFF           r/w  |  Ricoh RMETA    r
  GPS            r/w/c  |  AFCP           r/w  |  Picture Info   r
  IPTC           r/w/c  |  Kodak Meta     r/w  |  Adobe APP14    r
  XMP            r/w/c  |  FotoStation    r/w  |  MPF            r
  MakerNotes     r/w/c  |  PhotoMechanic  r/w  |  Stim           r
  Photoshop IRB  r/w/c  |  JPEG 2000      r    |  DPX            r
  ICC Profile    r/w/c  |  DICOM          r    |  APE            r
  MIE            r/w/c  |  Flash          r    |  Vorbis         r
  JFIF           r/w/c  |  FlashPix       r    |  SPIFF          r
  Ducky APP12    r/w/c  |  QuickTime      r    |  DjVu           r
  PDF            r/w/c  |  Matroska       r    |  M2TS           r
  PNG            r/w/c  |  MXF            r    |  PE/COFF        r
  Canon VRD      r/w/c  |  PrintIM        r    |  AVCHD          r
  Nikon Capture  r/w/c  |  FLAC           r    |  ZIP            r
  GeoTIFF        r/w/c  |  ID3            r    |  (and more)

See html/index.html for more details about ExifTool features.

ExifTool can be downloaded from

  http://owl.phy.queensu.ca/~phil/exiftool/

RUNNING

The exiftool script can be run right away without the need to install
Image::ExifTool.  For example, from within the exiftool directory you can
extract the information from one of the included test files by typing:

  ./exiftool t/images/ExifTool.jpg

If you move the exiftool script to a different directory, you must also
either move the contents of the lib directory or install the Image::ExifTool
package so the script can find the necessary libraries.

Note:  If you are using the Windows cmd shell, you may need to rename
'exiftool' to 'exiftool.pl' to run it directly from the command line.
Alternatively, you can run exiftool with the command 'perl exiftool'.

IF YOU ARE STILL CONFUSED

The exiftool script is a command line application.  You run it by typing
commands in a terminal window.  The first step is to determine the name of
the directory where you downloaded the ExifTool distribution package.
Assuming, for example, you downloaded it to a folder called "Desktop" in
your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:

  cd ~/Desktop
  gzip -dc Image-ExifTool-##.##.tar.gz | tar -xf -
  cd Image-ExifTool-##.##
  ./exiftool t/images/ExifTool.jpg

Note: You must replace "##.##" in the above commands with the actual version
number of ExifTool that you downloaded.  These commands extract meta
information from one of the test images.  To use one of your images instead,
enter the full path name of your file in place of "t/images/ExifTool.jpg".

INSTALLATION

You can install the Image::ExifTool package to make it available for use by
other Perl scripts by typing the following:

  perl Makefile.PL
  make
  make test
  make install

Notes:
  i) You need root access for the last step above.

  ii) Some Perl installations (like the standard OSX installation) may not
  contain the necessary files to complete the first step above.  But no
  worries:  You can install ExifTool manually by moving 'exiftool' and the
  'lib' directory to any directory in your current PATH (ie. /usr/bin).

  iii) In Windows, "dmake" or "nmake" may be used if "make" is not
  available.  The "nmake" utility may be downloaded from Microsoft at
  http://support.microsoft.com/default.aspx?scid=kb;en-us;Q132084 but note
  that is utility is very old, and may not work with Makefiles generated by
  newer Perl versions.

(Also see html/install.html for more help with installation.)

DEPENDENCIES

Requires Perl version 5.004 or later.  No other special libraries are
required, however the following modules are recommended for decoding
compressed and/or encrypted information from the indicated file types, and
for calculating digest values for some information types:

  Archive::Zip         (ZIP, DOCX, PPTX, XLSX, ODP, ODS, ODT, EIP, iWork)
  Compress::Zlib       (DNG, PNG, PDF, DCM, MIE and SWF files)
  Digest::MD5          (PDF files, IPTC information, and JPG Extended XMP)
  Digest::SHA          (PDF with AES-256 encryption)
  IO::Compress::Bzip2  (RWZ files)
  Win32::API           (for proper handling of Windows file times)
  Win32API::File       (for Windows Unicode file names and file times)
  Win32::FindFile      (for Windows Unicode directory support, app only)
  Time::HiRes          (allows generation of ProcessingTime tag)

COPYRIGHT AND LICENSE

Copyright 2003-2016, Phil Harvey

This is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.

DISTRIBUTION FILES

Below is a list of the files/directories included in the full ExifTool
distribution package:

  Changes                   - Revision history
  MANIFEST                  - Full list of distribution files
  META.yml                  - Standard CPAN dependency file
  Makefile.PL               - Makefile for installation
  README                    - This file
  arg_files/                - Argument files to convert metadata formats:
    exif2iptc.args            - Arguments for converting EXIF to IPTC
    exif2xmp.args             - Arguments for converting EXIF to XMP
    gps2xmp.args              - Arguments for converting GPS to XMP
    iptc2exif.args            - Arguments for converting IPTC to EXIF
    iptc2xmp.args             - Arguments for converting IPTC to XMP
    iptcCore.args             - Complete list of IPTC Core XMP tags
    pdf2xmp.args              - Arguments for converting PDF to XMP
    xmp2exif.args             - Arguments for converting XMP to EXIF
    xmp2gps.args              - Arguments for converting XMP to GPS
    xmp2iptc.args             - Arguments for converting XMP to IPTC
    xmp2pdf.args              - Arguments for converting XMP to PDF
  config_files/             - Sample ExifTool configuration files:
    convert_regions.config    - Convert between MWG and MP face regions
    example.config            - General example showing config features
    gps2utm.config            - Generate UTM coordinate tags from GPS info
    photoshop_paths.config    - For extracting or copying Photoshop paths
    picasa_faces.config       - Convert from Picasa to MWG/MP face regions
  exiftool                  - The exiftool application (Perl script)
  fmt_files/                - Output formatting example files:
    gpx.fmt                   - Format file for creating GPX track
    gpx_wpt.fmt               - Format file for creating GPX waypoints
    kml.fmt                   - Format file for creating KML output files
  html/                     - HTML documentation
  html/TagNames/            - HTML tag name documentation
  lib/                      - ExifTool Perl library modules
  perl-Image-ExifTool.spec  - Red Hat Packaging Manager specification file
  t/                        - Verification test code
  t/images/                 - Verification test images

ADDITIONAL INFORMATION

Read the following files included in the full distribution for more
information:

  html/index.html           - Main ExifTool documentation
  html/install.html         - Installation instructions
  html/history.html         - Revision history
  html/ExifTool.html        - API documentation
  html/TagNames/index.html  - Tag name documentation
  html/geotag.html          - Geotag feature
  html/faq.html             - Frequently asked questions
  html/filename.html        - Renaming/moving files
  html/metafiles.html       - Working with metadata sidecar files
  html/struct.html          - Working with structured XMP information
  lib/Image/ExifTool/README - ExifTool library modules documentation

and if you have installed Image::ExifTool, you can also consult perldoc or
the man pages:

  perldoc exiftool
  perldoc Image::ExifTool
  perldoc Image::ExifTool::TagNames

  man exiftool
  man Image::ExifTool
  man Image::ExifTool::TagNames

Note: If the man pages don't work, it is probably because your man path is
not set to include the installed documentation.  See "man man" for
information about how to set the man path.

----------------------------------------------------------------------------

phpexiftool/exiftool 适用场景与选型建议

phpexiftool/exiftool 是一款 基于 Perl 开发的 Composer 扩展包,目前已累计 394.52k 次下载、GitHub Stars 达 29, 最近一次更新时间为 2012 年 05 月 03 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「metadata」 「exiftool」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 phpexiftool/exiftool 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 phpexiftool/exiftool 我们能提供哪些服务?
定制开发 / 二次开发

基于 phpexiftool/exiftool 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 394.52k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 30
  • 点击次数: 16
  • 依赖项目数: 7
  • 推荐数: 0

GitHub 信息

  • Stars: 29
  • Watchers: 11
  • Forks: 20
  • 开发语言: Perl

其他信息

  • 授权协议: Perl
  • 更新时间: 2012-05-03