Problème pour lire les dimensions d'une image

Fermé
rubikspirit - 14 déc. 2010 à 20:10
 rubikspirit - 14 déc. 2010 à 22:00
Bonjour,

Voilà, je suis en train de mettre en place un script pour redimensionner des images et là, je me rends compte que j'ai des soucis quant à la lecture des infos de dimensions de l'image originales... Elles ne s'affichent pas...

J'ai alors vite fait taper un code pour obtenir (sans redimensionner) les infos de dimensions d'une image que j'envoie via un formulaire.

Et là, surprise ! Sur certaines images, j'ai bien les dimensions qui s'affichent mais sur d'autres impossible d'afficher les dimensions de l'image.

J'ai également constaté que généralement, les images qui posent problème sont des photos prises d'un appareil photo numérique mais ça ne m'aide pas à avancer...

Voici le code que j'utilise pour lire et afficher les infos sur les dimensions de l'image :
// Variables récupérées par methode POST du formulaire
$fname = $HTTP_POST_FILES['fichier']['name'];
$ftype = $HTTP_POST_FILES['fichier']['type'];
$fsize = $HTTP_POST_FILES['fichier']['size'];
$ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];

// Récupération des dimensions
$dim = getimagesize($ftmp); 

	echo'Hauteur : '.$dim[1].' - Largeur : '.$dim[0].'';


Une petite idée sur ces problèmes de lecture ?

Merci à tous ! ;)



A voir également:

1 réponse

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2010 à 21:16
Essai:
$dim=getimagesize($_FILES['fichier']['tmp_name']);

Bien sur dans ton formulaire tu as bien mis:
<form method="post" enctype="multipart/form-data" action="page.php">
[...]
<input type="file" name="fichier" />
[...]
</form>
0
Oui j'ai bien appliqué ce que tu m'indiques ici mais le résultat reste le même... impossible de lire les dimensions de toutes les photos mais de juste certaines...
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2010 à 21:35
Tu fais une vérification du type de fichier avant ça?
Tu essai de lire les informations de quel type de fichier?
0
Ben je viens de faire avec une vérif du type de fichier avec $dim[3] mais toujours pareil... sur les images que j'arrivais à lire déjà avant j'obtient une réponse mais sur les images qui posent problème comme avant, pas de réponse concernant le type de fichier.

Pourtant, une photo est une photo... je ne vois pas pourquoi ca pose tant de soucis (c'est du jpg)
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2010 à 21:56
Pourtant, une photo est une photo...

Oui et non.
Par exemple: si tu renomme un fichier .bmp en .jpg, ça va pas en faire un jpg pour autant.

Je dirai que si tu as un problème avec ce code là, cela ne viens pas forcement du code mais peut-être simplement du fichier.
Peux-tu mettre le code complet de traitement de ton image?

Essai $dim[2].
L'index 2 contient le type de l'image : 1 = GIF , 2 = JPG , 3 = PNG , 5 = PSD , 6 = BMP , 7 = TIFF (Ordre des octets intel), 8 = TIFF (Ordre des octets Motorola), 9 = JPC , 10 = JP2 , 11 = JPX , 12 = JB2 , 13 = SWC , 14 = IFF .
0
Ah oui tout à l'heure je parlais de dim[3] mais je me suis trompé, c'est bien dim[2] que j'avais mis dans mon code :
<form method="post" enctype="multipart/form-data" action="test_image.php?image=send">
<input type="file" name="fichier" />
<input type=submit value=Envoyer></form>
			
			
<?php
		if($_GET['image']=="send") { 
		

// Variables récupérées par methode POST du formulaire
$fname = $HTTP_POST_FILES['fichier']['name'];
$ftype = $HTTP_POST_FILES['fichier']['type'];
$fsize = $HTTP_POST_FILES['fichier']['size'];
$ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];

// Récupération des dimensions
$dim=getimagesize($_FILES['fichier']['tmp_name']);

	echo'Hauteur : '.$dim[1].' - Largeur : '.$dim[0].'<br><br>Type de fichier : '.$dim[2].'';
	
}
?>


Mais comme tout à l'heure, j'ai pas de résultat pour dim[2] lorsque je veux poster une image "à problème" comme je les appelle maintenant
0