Different output when using shell and shell_exec() in php

Started by schneekuchen, May 07, 2015, 07:00:38 AM

Previous topic - Next topic

schneekuchen

Hi,

i have build a simple php script that outputs the exifdata from EPS files.
Exiftool works fine and displays all the tags i needed. In special the information if there are path included and their names.

shell_exec("exiftool -json -n -q -b -charset UTF8 -r -i SYMLINKS 'some_eps_files.eps'");

...
  public 'ExifByteOrder' => string 'MM' (length=2)
  public 'Warning' => string 'IFD0 pointer references previous IFD0 directory' (length=47)
  public 'Path7d0' => string 'path' (length=4)
  public 'Path7d1' => string 'panel' (length=5)
  public 'ClippingPathName' => string 'path' (length=4)
...


BUT: when i use this command directly in the shell, the Path7d* tags disapear...

...
  "ExifByteOrder": "MM",
  "Warning": "IFD0 pointer references previous IFD0 directory",
  "ClippingPathName": "path",
...


I tryed this command by root and as www-data user but everytime the same issue. The path tags disapears. I also tryed different eps files.
Cant understand this difference between php and direct shell....

Using Linux / Exiftool 9.70

Someone an idea?

Phil Harvey

The "Path7d0" tag is a user-defined tag.  It isn't being generated when you run from your php script because your environment settings are different and ExifTool can't find the config file.  See the comments in the sample config file for more information about where ExifTool looks for this file.

Probably the easiest thing to do is to add the -config option to the command line.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

schneekuchen

Hi Phil,

thanx for the very quick reply and helpful info.
I found your config example for path tags...
http://owl.phy.queensu.ca/~phil/stuff/jjg_exiftoolconfig.txt

Followed the instructions of https://exiftool.org/config.html
...and...it works!

special thanks!
you tool is awesome!




Phil Harvey

Extracting Photoshop paths has been useful to people on a few occasions in the past, so I have cleaned up that config file, added a new feature, and included it in the full ExifTool distribution.  (Attached below for your convenience.)  Note that this config file requires Exiftool 9.95 because of the new feature to allow either the binary path data or the text path names to be extracted (add -n for the binary path data).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).