Détecter la définition d'une image

Détecter la définition d'une image - PHP - Programmation

Marsh Posté le 06-01-2011 à 21:06:51    

Bonjour,
 
je code un petit script d'upload d'image.  
J'aurai besoin de vérifier plusieurs paramètres taille hauteur largeur, poids ok. Mais j'aimerai éviter qu'une personne envoie une image toute pourrie et pixélisée et bien dégueux (car destiné à du print après)
Est ce qu'il existe une fonction en PHP de détecter la résolution en ppp d'une image ?
J'ai googlelisé sans succès :/
 
Merci d'avance :jap:

Reply

Marsh Posté le 06-01-2011 à 21:06:51   

Reply

Marsh Posté le 06-01-2011 à 21:09:59    

http://www.php.net/manual/fr/function.getimagesize.php
 
Tu peux aussi regarder les fonctions gd d'une manière générale, tu trouveras des trucs sympas:
http://php.net/manual/fr/book.image.php


Message édité par regexp42 le 06-01-2011 à 21:10:19
Reply

Marsh Posté le 06-01-2011 à 21:12:41    

Merci :jap:

 

Je connaissais getimagesize, mais cette fonction retourne uniquement les dimensions en pixels d'une image non ?

 

J'avais pensé à la librairie GD, merci pour le lien :jap:


Message édité par -tinost@r- le 06-01-2011 à 21:13:08
Reply

Marsh Posté le 06-01-2011 à 22:37:30    

Regarde du côté de Imagick, c'est une bibliothèque bien plus complète
 
http://www.php.net/manual/fr/class.imagick.php

Reply

Marsh Posté le 04-12-2013 à 12:20:26    

Essaye ce script:
 
////////////////////////
// fonction lireResolutionJPG
function lireResolutionJPG($filename) {
 // on créé un array
$outRez=array();
 // on ouvre un buffer
ob_start();
// On lit le fichier
$image   = file_get_contents($filename);
     
// on récupere les DPI dans le JPG header
$outRez["xDPI"] = ord($image[15]);
$outRez["yDPI"] = ord($image[17]);
// on ferme le buffer
ob_end_clean();
 
// en "echo"
print_r($outRez);
echo "<br>ou<br>";
echo $outRez["xDPI"]."<br>";
echo $outRez["yDPI"]."<br>";
 
// ou en "return"
// return($outRez);
 
// Attention: au-dela de 256 DPI, ça repart à 0
// exemple: 300 DPI sera affiché 44 (300-256=44)
// ne me demandez pas pourquoi...
   
} //end function lireResolutionJPG
////////////////////////
 
// Appel de la fonction
$adresseFichier = "truc/bidule.jpg";
lireResolutionJPG("$adresseFichier" );


---------------
http://gliere.com/david-gliere/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed