Récupérer résolution image?

Résolu
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007 - 2 févr. 2006 à 13:29
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 2 févr. 2006 à 15:07
Bonjour à tous,

je viens ici car j'ai un soucis, c'est que j'aimerai récupérer la
résolution d'une image envoyée à l'aide d'un input type files. Et je ne
vois pas d'options pouvant le faire, ou tout du moins j'ai pas trouvé.
Et sinon j'aurai voulu savoir si le $_FILES ['nom']['type'] était bien
sur, car imaginons que le fichier a été renommé en jpeg mais que c'est
en fait un exe, est ce que l'option type va le voir ou non?



Merci d'avance

10 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 févr. 2006 à 13:47
Hello,

getimagesize ()

Cette fonction renvoie un tableau contenant notamment ces informations.
Regarde la doc.

Pour le type mime, base-toi plutôt aussi sur cette fonction. Car le type renvoyé par $_FILES est celui envoyé par le navigateur...donc, sait-on jamais.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 févr. 2006 à 14:04
Tu ne peux pas avant.
Avant, tu peux utiliser $_FILES.
Puis tu fais une double vérification, après envoie sur le serveur.
Si l'image est valide, ok. Sinon, ben tu l'effaces (unlink() ).
3
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
2 févr. 2006 à 13:51
Je te remercie. Je viens e voir cette fonction aussi. Mais comment je
fais pour l'appliquer avant l'envoie, car en fait il faut que ca
vérifie que la résolution soit au minimum de tant, que l'extension soit
comme ca, mais tout ca avant l'upload. Et si tout est bon, on upload.
Car dans les exemples que j'ai vu sur getimagesize(), il faut lui
donner l'url de l'image, et moi je l'ai pas encore cette url, j'ai
juste le champs du formulaire.



Merci
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
2 févr. 2006 à 14:08
Pour une URL:

<?php
$size = getimagesize("http://www.vazy-t-moche.fr/image/obcstaff.jpg");
?>



Sinon:

<?php
$size = getimagesize("imgage/obcstaff.jpg");
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
2 févr. 2006 à 14:14
OK. Par contre y'aurait problème, car la hauteur et la largeur sont
dépendant de la DPI de l'image, donc une taille peut etre faussée. Il
faudrait donc récupérer cette DPI. Quelqu'un aurait une idée?
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
2 févr. 2006 à 14:27
debut de ton script:



if(extract($_POST)) //si ya quelque chose de poster on va tester

{

$nom_fichier_inserer=$_FILES['nom_fichier_inserer'];

if(empty($nom_fichier_inserer)) //si ton fichier as pas été envoyé:

{

echo"pas de fichier envoyé";

}

else

{

if
(isset($_FILES['nom_fichier_inserer']) &&
// on test les variable
$_FILES['nom_fichier_inserer']['name']!="")

{


$nom_fichier_inserer=$_FILES['nom_fichier_inserer']['name'];

$x = strlen($nom_fichier_inserer);


$ext =
substr($nom_fichier_inserer,$x-3,3); //

$fichier=$_FILES['nom_fichier_inserer']['tmp_name'];

$fifi =$_POST['nom_fichier'].".$ext";

}

else

{


echo"Le
fichier n'a pas été enregistré, un probléme est";

}

}

}

else

{

ici tu affiche ton formulaire......et le reste de ta page....













Sinon pour la taille de ton image je crois qu'il y a:

---> imagesx() pour la largeur et

----> imagesy() pour la longueur
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
2 févr. 2006 à 14:49
Jte remercie obcstaff.

Mais concernant la hauteur et la longueur, mon patron veut plus, car
comme j'ai dit plus haut ce serait variable en fonction de la DPI de
l'image (DPI = résolution). Donc il faudrait que je vérifie cela en
plus de la hauteur et longueur. Quelqu'un voit comment c'est possible,
si c'est possible en php...



Merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 févr. 2006 à 14:56
Hello,

nan nan, c'est ton image en pixels, là. Les DPI conditionnent copmbien de pixels vont être affichés par pouce. (inch).
Ca n'a rien à voir avec le nombre de pixels la composant, finalement.
Sur écran, on est à 72 il me semble. Ca ne changera donc jamais, à priori. Si ton image est en 300 DPI, je pense que tu auras une hauteur et une largeur énorme, renvoyée par getimagesize().
0
Monico9385 Messages postés 279 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 6 août 2007
2 févr. 2006 à 15:02
OK. Donc getimagesize suffit largement. L'utilisateur ne pourra donc
pas feinter lors de l'envoie si je comprend bien... Bon bah je vais
coder alors maintenant.



Je vous remercie :D
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 févr. 2006 à 15:07
C'est mon avis hein...je ne suis pas graphiste pro non plus ;-) T'as qu'à tester. Tu verras bien. t'uploades une image en 72 DPI, une en 300DPI, une en 150 DPI... pi vlà.
0