Forum TourDeJeu · Règles du forum | Aide Recherche Membres |
Bienvenue invité ( Connexion | Inscription ) | Recevoir à nouveau l'email de validation |
Michoko |
Ecrit le : Mardi 28 Décembre 2004 à 22h27
|
Kid Groupe : Membre Messages : 26 |
Bonjour, je suis administrateur d'un jeu en php, et j'aimerai savoir si un script pouvait récuperer le poids d'une image en octets, car je voudrais limiter celle-ci pour les avatars de mon forum.
Pour l'instant je limite la taille et le format ( j'accepte que le jpg et le gif ) avec un getimagesize mais je trouve pas de fonction pour me renvoyer le poids =( J'aimerais les limiter a 10-15ko merci de votre aide Michoko -------------------- |
zumba |
Ecrit le : Mardi 28 Décembre 2004 à 23h27
|
Ouf Groupe : Membre Messages : 496 |
salut.
tle mieux est de le contrôler au moment de l'upload de l'image sur ton site (si tu ne stockes que le lien alors là je ne pense pas que ce soit possible) exemple de code (regarde le hidden MAX FILE SIZE) http://yansanmo.no-ip.org:8080/a/phpupload sinon tu peux le contrôler à posteriori une fois le fichier uploadé. la seule fonction permettant de lire la taille d'un fichier et passant les restructions de sécurité chez les hébergeurs est fstat(); A+ -------------------- Z
|
Michoko |
Ecrit le : Mardi 28 Décembre 2004 à 23h33
|
Kid Groupe : Membre Messages : 26 |
J'arrive bien a lire le poid des fichier avec un filesize() mais c'est valable que si l'image est sur mon serveur....
Une fois que sa vient d'un lien comme tu dit sa marche pas Sinon niveau Upload j'aime pas trop car sa donne la possibiltés de mettre n'importe quoi sur le serveur :s et donc possibilité de hackage :s -------------------- |
X-Max |
Ecrit le : Mercredi 29 Décembre 2004 à 00h42
|
Kid Groupe : Membre Messages : 11 |
Oui évite absolument ce genre de chose.
C'est la porte ouverte au hackage de ton serveur. -------------------- |
Manest |
Ecrit le : Mercredi 29 Décembre 2004 à 01h03
|
Ouf Groupe : Membre Messages : 503 |
getimagesize() marche à priori même sur une image qui n'est pas du serveur.
Moi je mets un formulaire dans lequel les joueurs rentrent l'adresse de leur image et je recupere et stock comme ca (en gros) $change_image = $_POST['change_image']; if ($change_image == 'oui') { $emplacement = $_POST['emplacement']; $emplacement = htmlspecialchars($emplacement); $emplacement = addslashes($emplacement); $size = @GetImageSize($emplacement); // $size[2] : 1 = GIF, 2 = JPG, 3 = PNG if ($size[2] == 1 || $size[2] == 2 || $size[2] == 3) { if ($size[0] <= 150 && $size[1] <= 200) { $sql = "UPDATE XXX"; $req = @mysql_query($sql) or die('Erreur SQL!<br>'.$sql.'<br>'.mysql_error()); } else echo "La taille du cette image fait ".$size[0]."x".$size[1].", elle n'est pas conforme"; } else echo "Le format de l'image est incorrect, .gif, .jpg et .png seulement"; } Bin ca semble bien marcher... -------------------- |
Michoko |
Ecrit le : Mercredi 29 Décembre 2004 à 02h56
|
Kid Groupe : Membre Messages : 26 |
Oui j'utilise un getimagesize aussi mais cette fonction ne renvois pas le poid en octets des images
-------------------- |
Haiken |
Ecrit le : Mercredi 29 Décembre 2004 à 04h25
|
Ouf Groupe : Membre Messages : 360 |
Une solution est de faire une requête HTTP HEAD qui te renverra la taille de l'image dans l'entête Content-length
Il y a des packages PEAR pour faire cela plus simplement, comme HTTP Client ou Snoopy -------------------- Association Nainwak, aide & hébergement des jeux web
Le Blog de l'assoc', encore mieux que l'assoc' tomate ! |