IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Savoir si un JPEG est progressif


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 59
    Points : 43
    Points
    43
    Par défaut Savoir si un JPEG est progressif
    Bonjour à tous,

    voilà je cherche à tester si les jpeg sont progressif ou none.

    en ligne de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [root@localhost testcompress]# identify -verbose *.jpg | grep $i Interlace
      Interlace: JPEG
      Interlace: None
      Interlace: None

    Mais pour tester sous php j'ai lu à pas mal d'endroit sur le net de tester pas le biais de imagecreatefromjpeg() =>imageinterlace()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach( $array as $value )
    {
    	$img =  imagecreatefromjpeg($value);
    	echo "<br/>".$file."- ".imageinterlace($img);
    }
    Mais ca me renvoiue toujours 0

    Donc pourriez vous m'aider?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regarde l'aide de la fonction http://php.net/imageinterlace
    cette fonction permet de définir si l'image qu'on veut créer va être entrelacée ou non donc elle ne sert pas à tester une image existante

    par contre je ne connais pas de méthode pour vérifier que l'image soit entrelacée

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Faudrait lire la spécification du format jpeg mais doit bien y'avoir dans l'entête du fichier un flag qui dit que c'est un fichier progressif ou non. Du coup suffirait d'aller lire ce flag pour avoir l'info.

    Un exemple en png : http://stackoverflow.com/questions/1...-is-interlaced

    L'autre solution est de simplement lancer ta ligne de commande depuis PHP mais du coup ca requiert que imagemagik soit installé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $progressive = `identify -verbose monfichier.jpg | grep $i Interlace`;
    if($progressive == 'Interlace: JPEG') echo 'Interlaced';
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    Merci beaucoup.
    Il; est vrai que je n'ai pas songé à exécuter la ligne de commande ne php.

    Cependant il me dis que la variable $i est indéfinit?
    Notice: Undefined variable: i
    Auriez vous une idée?

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je pense que ça viens du $i dans ta commande qui est interprété comme une variable php.
    Soit tu change ta commande soit tu passe par une fonction du genre system()
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Requete] Savoir si un champ est remplit
    Par slowpoke dans le forum Requêtes
    Réponses: 8
    Dernier message: 13/08/2003, 11h12
  2. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42
  3. [VB6] [Impression] Savoir si une imprimante est installée
    Par Norm59ttp dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 19/12/2002, 09h29
  4. Réponses: 4
    Dernier message: 30/06/2002, 20h23
  5. savoir si 1 point est a l'intérieur d'un cercle ...
    Par skarladevobsy dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 23/05/2002, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo