OVH Cloud OVH Cloud

detection d'image non conforme

4 réponses
Avatar
Guillaume JANY
bonjour,

existe-il une fonction ou un script php permettant de détecter si une image
jpg est corrompue ?

http://crakethiojz.free.fr/image.jpg
http://crakethiojz.free.fr/fichier_image_jpg

merci.

Guillaume

4 réponses

Avatar
Marc Quinton
Guillaume JANY wrote:

existe-il une fonction ou un script php permettant de détecter si une image
jpg est corrompue ?


oui, regarde cette page :

http://fr3.php.net/manual/fr/function.imagecreatefromjpeg.php

Avatar
dmetzler
Tu peux essayer en utilisant la librairie GD de l'ouvrir. Si GD n'y
arrive pas alors elle est corrompue.
Avatar
Olivier Miakinen

existe-il une fonction ou un script php permettant de détecter si une image
jpg est corrompue ?

http://crakethiojz.free.fr/image.jpg
http://crakethiojz.free.fr/fichier_image_jpg


En l'occurrence, il suffit peut-être d'un navigateur, ou d'un éditeur de
texte. Pour la deuxième, comme tu l'as nommée _jpg au lieu de .jpg, elle
est transmise avec le type MIME text/plain au lieu de image/jpeg, et on
y lit ceci :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.print.PageFormat.PMHorizontalRes</key>
<dict>
<key>com.apple.print.ticket.creator</key>
<string>com.apple.printingmanager</string>
<key>com.apple.print.ticket.itemArray</key>
<array>
<dict>

(etc.)

Avatar
Guillaume JANY
En l'occurrence, il suffit peut-être d'un navigateur, ou d'un éditeur de
texte. Pour la deuxième, comme tu l'as nommée _jpg au lieu de .jpg, elle
est transmise avec le type MIME text/plain au lieu de image/jpeg, et on
y lit ceci :

<?xml version="1.0" encoding="UTF-8"?>
...


ce qui est étonnant c'est que cette image ne s'affiche pas sous IE, sous
Firefox un message d'erreur apparait L'image «...» ne peut être affichée,
car elle contient des erreurs."et sous Opéra...l'image s'affiche !

les fonctions copy(), getimagesize(), filesize(), Imagecreatefromjpeg()
fonctionnent sans soucis, même imagecopyresampled() passe et une vignette
est générée et s'affiche dans les navigateurs.

ce que j'aimerais, c'est pouvoir détecter automatiquement ce type d'image
avant de fabriquer une vignette.

je vais regarder les commentaires sur le lien fourni par Marc.

Guillaume