La communauté ALL HTML c'est 58445 membres à ce jour dont 0 inscrits aujourd'hui et 25 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

Adapter ce script d'upload pour images jpg

liste des forums liste des discussions Participer à la discussion

Photo de davredom Message publié le lundi 07 juillet 2008 à 10 h 45 par davredom. [;-))] .:: Dom ::.
Bonjour à tous,

J'ai récupéré un script d'upload pour envoyer des images sur serveur. Le scirpt est en 2 parties : le formulaire, et le traitement des images.

Formulaire :
<form name="formu" action="valid_sorties.php" method="post" enctype="multipart/form-data"> <table align="center"> <tr> <td align="right" valign="top"><b>Photo 1 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"><br><font color="#ff0000">images au format jpg - 400px de long sur 300px de large</font></td> </tr> <tr> <td align="right" valign="top"><b>Photo 2 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 3 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 4 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 5 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 6 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 7 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 8 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 9 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="right" valign="top"><b>Photo 10 :</b></td> <td><input type="file" name="fichier[]" accept="image/gif"></td> </tr> <tr> <td align="center" colspan="2"><input type="submit" value=" Valider "></td> </tr> </table> </form>

Le Traitement :
<?php $i=1; if (isset($_FILES['fichier'])) { //$_FILES existe foreach ($_FILES['fichier']['name'] as $key => $value) { $fichier=$value;//nom reel de l'image $size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets $tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur) $type=$_FILES['fichier']['type'][$key];//type de l'image //On récupère la taille de l'image list($width,$height)=getimagesize($tmp); if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http { //vérification du type de l'img, son poids et sa taille if ($type=="image/gif" && $size<=20500 && $width==400 && $height==300 ) { // type mime gif, poids < à 20500 octets soit environ 20Ko, largeur = hauteur = 100px //Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher $fichier = preg_replace ("` `i","",$fichier);//ligne facultative :) //On vérifie s'il existe une image qui a le même nom dans le répertoire if (file_exists('../../../images/nos_sorties/'.$fichier)) { //Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) ) $nom_final= preg_replace("`.gif`is",date("U").".gif",$fichier); } else { $nom_final=$fichier; //l'image n'existe pas on garde le même nom } //on déplace l'image dans le répertoire final if (move_uploaded_file($tmp,'../../../images/nos_sorties/'.$nom_final)) { //Message indiquant que tout s'est bien passé //Pour le test on affiche l'image chmod("../../../images/nos_sorties/" . $nom_final, 0644); echo 'Photo'.$i.' :<br><img src="../../../images/nos_sorties/'.$nom_final.'" border="0" /><br>'.$nom_final; echo '<br><br/>'; $i=$i+1; } else { //l'image ne peut être déplacée, on supprime le fichier temporaire @ unlink ($tmp); echo 'L\'image n\'a pu être déplacée !'; } } else { //Le type mime, ou la taille ou le poids est incorrect echo 'Votre image a été rejetée (poids, taille ou type incorrect)'; } } } } ?>

Ce script fonctionne à merveille pour les images .gif.
Pour l'adapter aux images .jpg, ce qui correspond à mes besoins, j'ai remplacé 'gif' par 'jpg' dans les 2 scripts, mais cela ne fonctionne pas, et j'ai le message d'erreur 'Votre image a été rejetée (poids, taille ou type incorrect)'.

Comment faire svp ??

------------------
Merci d'avance
Photo de telnes Message publié le lundi 07 juillet 2008 à 11 h 26 par telnes. toujours revenir au debut - http://telnesmaster.free.fr/allhtml/index2.html - http://telnesmaster.free.fr/litetemplate - http://www.hotcontest.org
hello

donne tes modif stp

++
Photo de pchlj Message publié le lundi 07 juillet 2008 à 16 h 54 par pchlj. no comment !
salut.. c vrai que le fichier modifé aurait été bien...

sinon erreur assez courante.. mais je suppose que t'as pas fait ça a l'arrache :D quoique ;)

donc le type mime du jpg est "image/jpeg" et NON "image/jpg"

il faut aussi savoir que pour les systèmes sous OS X donc les mac :)

le type devient "iamge/x-jpeg"

à mon avis y a des chances que ce soit ça :)
Photo de davredom Message publié le mardi 08 juillet 2008 à 09 h 21 par davredom. [;-))] .:: Dom ::.
Bonjour telnes et pchlj,
En effet, l'erreur venait du fait que j'avais mit "image/jpg" au lieu de "image/jpeg".

Merci à vous et à bientôt

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions