Récupérer résolution image? [Résolu]

Messages postés
279
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
6 août 2007
- - Dernière réponse : malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
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
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
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() ).

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
279
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
6 août 2007
0
Merci
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
Commenter la réponse de Monico9385
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008
0
Merci
Pour une URL:

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



Sinon:

<?php
$size = getimagesize("imgage/obcstaff.jpg");
?>
Commenter la réponse de obcstaff
Messages postés
279
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
6 août 2007
0
Merci
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?
Commenter la réponse de Monico9385
Messages postés
147
Date d'inscription
mardi 15 novembre 2005
Statut
Membre
Dernière intervention
28 janvier 2008
0
Merci
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
Commenter la réponse de obcstaff
Messages postés
279
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
6 août 2007
0
Merci
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
Commenter la réponse de Monico9385
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
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().
Commenter la réponse de malalam
Messages postés
279
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
6 août 2007
0
Merci
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
Commenter la réponse de Monico9385
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
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à.
Commenter la réponse de malalam