Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.php > #2949
| From | Pierre Maurette <maurette.pierre@free.fr> |
|---|---|
| Newsgroups | fr.comp.lang.php |
| Subject | Re: problème avec exec et exiftool pour une seule image |
| Date | 2016-12-15 17:34 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <mn.7c1e7e0c0b029871.79899@free.fr> (permalink) |
| References | <o2oodo$ui8$1@shakotay.alphanet.ch> |
Une Bévue :
> Bonjour,
>
> Dans un dossier, j'ai plusieurs images :
> $ ls -al '/Users/yt/Sites/tests/Flipping_image/photos/'
> total 4848
> drwxr-xr-x 10 yt staff 340B 13 déc 09:46 .
> drwxr-xr-x 10 yt staff 340B 13 déc 07:48 ..
> -rw-r--r-- 1 yt staff 1,1M 12 déc 10:01 20161202_085945.jpg
> -rw-r--r-- 1 yt staff 66K 13 déc 08:10 Cirques.jpg
> -rw-r--r-- 1 yt staff 662K 13 déc 08:27 Cirques.png
> -rw-r--r-- 1 yt staff 541K 6 déc 13:43 IMG_3130.JPG
>
> qui ont donc même use:group et mes droits "-rw-r--r--".
>
> je dois lire les dats exif de ces images, pour cela j'utilise :
>
> $cmd = "$EXIFTOOL " . $data['PATH'];
> exec($cmd, $Infos, $ExitStatus);
> foreach($Infos as $line) {
> $fields = explode(' : ', $line, 2 );
> if(count($fields) == 2) {
> $data[rtrim($fields[0])] = $fields[1];
> }
> }
> $data['ExitStatus'] = $ExitStatus;
>
> pour les trois images :
> Cirques.jpg
> Cirques.png
> IMG_3130.JPG
>
> j'ai les bonnes infos, du genre :
> {
> "ExifTool Version Number": "10.20",
> "File Name": "IMG_3130.JPG",
> "Directory": "\/Users\/yt\/Sites\/tests\/Flipping_image\/photos",
> "File Size": "541 kB",
> [...]
> "Hyperfocal Distance": "1.82 m",
> "Light Value": "4.0",
> "ExitStatus": 0
> }
>
> MAIS, pour l'image :
> 20161202_085945.jpg
> mon script ne donne rien en sortie...
> je ne vois pas pourquoi d'autant qu'au terminal, par un :
> $ exiftool /Users/yt/Sites/tests/Flipping_image/photos/20161202_085945.jpg
> j'obtiens des données correctes.
>
> est-ce que ça pourrait provenir de la taille de l'image ?
> ici 1,1Mo
>
> je n'ai pas d'erreur, dans mon php.ini, j'ai :
> error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
>
> et ma version de php est 5.6.25 sur macOS Sierra.
>
> Au cas où vous auriez une indication surtout sur comment chercher ce
> problème.
C'est bizarre, votre truc.
La première chose à voir, c'est la taille de l'image, pas son poids. En
effet, c'est un problème courant, les fonctions de base de traitement
d'images jpeg qui sont pratiquement incontournables commencent par
créer en mémoire un bitmap pouvant héberger l'image. Et généralement
*en php*, c'est là que ça saute. Ça doit également mal se passer, en
mutualisé par exemple, quand la mémoire est comptée.
La fonction de base dispose d'une option qui permet de mapper la
mémoire sur le disque au-dessus d'une certaine valeur, et cette option
est relayée par certains programmes. Voyez pour exiftool ce qu'il en
est.
Mais ceci n'explique rien dans votre cas. Votre contexte mémoire est-il
différent entre un terminal et exec() ? J'ai tendance à penser non,
mais pourtant...
Vous pourriez essayer de lancer un script qui appelle exiftools et
écrit le résultat sur le disque, puis lire ce résultat. Si vous pouvez
faire à la main:
exiftool bla/bla.jpg > temp.txt
et que vous ne pouvez pas exécuter un script avec cette seule ligne
depuis php, ça vous donnera au moins une indication.
--
Pierre Maurette
Back to fr.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
problème avec exec et exiftool pour une seule image Une Bévue <unbewusst.sein@fai.invalid> - 2016-12-13 13:09 +0100
Re: problème avec exec et exiftool pour une seule image Pierre Maurette <maurette.pierre@free.fr> - 2016-12-15 17:34 +0100
Re: problème avec exec et exiftool pour une seule image Une Bévue <unbewusst.sein@fai.invalid> - 2016-12-15 19:11 +0100
Re: problème avec exec et exiftool pour une seule image Une Bévue <unbewusst.sein@fai.invalid> - 2016-12-15 19:13 +0100
Re: problème avec exec et exiftool pour une seule image Une Bévue <unbewusst.sein@fai.invalid> - 2016-12-16 11:19 +0100
csiph-web