Page 1 sur 1

probléme avec l'extention des fichier a uploader avec script

Posté : 19 nov. 2007, 18:11
par dave22
salut a touts
voila j'ai un probléme avec un simple script pour uploader des images sur mon serveur perso mais quand je l'ai télécharger et modifier , l'extention accepter a uploader ne depasse pas une extention et comme pour les images il ya 4 ou cinque alor ces impeu important
si vous pouvais m'aider a ajouté plusieur extention acceper a uploader
merci d'avence
dave
voila le code

Code : Tout sélectionner

<?php //------------------------------------ // Script réalisé par Webdeb73 // Le 17/10/2004 // Licence GNU/GPL // http://www.webmaster-debutant.net // [email protected] //------------------------------------- //---------------------------- // DEFINITION DES VARIABLES //---------------------------- $target = 'files/'; // Repertoire cible $extension = 'png'; // Extension du fichier sans le . $max_size = 1024000; // Taille max en octets du fichier $width_max = 999999; // Largeur max de l'image en pixels $height_max = 999999; // Hauteur max de l'image en pixels //--------------------------------------------- // DEFINITION DES VARIABLES LIEES AU FICHIER //--------------------------------------------- $nom_file = $_FILES['fichier']['name']; $taille = $_FILES['fichier']['size']; $tmp = $_FILES['fichier']['tmp_name']; //---------------------- // SCRIPT D'UPLOAD //---------------------- ?> <html> <head> <title>Upload d'Image Gratuit </title> </head> <body bgcolor="#CCFFFF"> <?php if(!empty($_POST['posted'])) { // On vérifie si le champ est rempli if(!empty($_FILES['fichier']['name'])) { // On vérifie l'extension du fichier if(substr($nom_file, -3) == $extension) { // On récupère les dimensions du fichier $infos_img = getimagesize($_FILES['fichier']['tmp_name']); // On vérifie les dimensions et taille de l'image if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) { if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; } if ($_FILES['fichier']['type'] == 'image/PNG') { $extention = '.png'; } if ($_FILES['fichier']['type'] == 'image/GIF') { $extention = '.gif'; } if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; } if ($_FILES['fichier']['type'] == 'image/JPG') { $extention = '.jpg'; } if ($_FILES['fichier']['type'] == 'image/jpg') { $extention = '.jpg'; } if ($_FILES['fichier']['type'] == 'image/JPEG') { $extention = '.jpeg'; } if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; } $nom_fichier = time().$extention; $url = 'http://ks30462.kimsufi.com/~img/files/'.$nom_fichier.''; // Si c'est OK, on teste l'upload if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$nom_fichier)) { // Si upload OK alors on affiche le message de réussite echo '<hr />'; echo '<center><h3><span><u><font color="#3366FF">V</font>otre image a &eacute;t&eacute; upload&eacute;e avec succ&eacute;s !</u></span>'; echo '<center><b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br /></center><tr>'; echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />'; echo '<center><b>Hauteur :</b> ', $infos_img[1], ' px<br /></center><tr>'; echo '<center></h3><br /><br /><br><b style="color:#33CC00">Voici le lien direct: <br><input type="text" site="200" value="' . $url . '" size="60"<br /> <br><br />Voici le code pour le forum : <br><input type="text" value="[URL=http://imgup-reloadps3.c.la][IMG]' . $url . '[/IMG][/URL]" size="60">'; echo '<br> Apercu :</b><br /><br /><a href="' . $url . '" target="_blank"><img src="' . $url . '" /></a><br /><br><br> <a href="index.php" ><img src="upnew.png"/></a></center> ' ; echo '<hr />'; } else { // Sinon on affiche une erreur système echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />'; } } else { // Sinon on affiche une erreur pour les dimensions et taille de l'image echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />'; } } else { // Sinon on affiche une erreur pour l'extension echo '<b><center><br><br><h3>Le fichier doit &eacute;tre au format <font color="#FF0066">*.jpeg</font>,<font color="#FF0066">*.jpg</font> ,<font color="#FF0066">*.gif</font> ou <font color="#FF0066">*.png</font> .</h3></center><br></b><br /><br />'; } } else { // Sinon on affiche une erreur pour le champ vide echo '<b>Le champ du formulaire est vide !</b><br /><br />'; } } ?> <center> <img src="heberg.jpg"> <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST"> <b>Envoyer le fichier :</b><br /><br /> <input type="hidden" name="posted" value="1" /> <input name="fichier" type="file" /> <input type="submit" value="Uploader" /> </form> <div class="infos"> Extensions accept&eacute;es : *.jpeg, *.jpg, *.png, *.gif.<br /> Poids max : 1mo (1024Ko).<br /> Taille (Pixel) : Illimit&eacute;.<br /> </div> </center></body></html><br> <div class="texte" style="width: 100%; margin: auto; text-align:left; font-family:verdana; font-size:9px"> <table style="border:1px solid #DDD; background-color: #FEFEFE; padding:2px"> <tr><td style="width:50px; vertical-align:top;"><img src="http://www.imagup.com/icones/exclamation.png" /></td> <td> Pour h&eacute;berger une image, il vous suffit de cliquer sur "<b>Parcourir...</b>", s&eacute;lectionner la photo sur votre ordinateur et de cliquer sur "<b>Uploader mon image !</b>" pour lancer l'upload.<br /><br /> Vous serez ensuite redirig&eacute; vers une nouvelle page avec toutes les informations sur votre image. </td> </tr> </table> </div> <center><br> </center> </body> </head> </html>
voila merci encore

Posté : 19 nov. 2007, 18:30
par Truc
Modération :
Merci de ne pas abuser des caractères en gras ni de taille 18 dans ton message !!!
(c'est pas la foire ici)
C'est moins lisible et ça n'apporte rien de plus.

Et tu peux même faire un effort sur l'orthographe.

Posté : 19 nov. 2007, 18:35
par h0_noMan
$extension  = 'png';    // Extension du fichier sans le . 
// ...
if(substr($nom_file, -3) == $extension) { 
C'est tout a fait normal.
Tu ne peux uploader que des fichier PNG.

A moins que, bien sur, tu ne modifie le script.

Petite idée : Tu mets toutes les extensions acceptés dans un tableau et tu testes si les derniers caractères apres le point dans le nom du fichier en fait partie.

Posté : 19 nov. 2007, 18:39
par dave22
salut merci bien pour cette reponce mais eceque tu peu détayé impeu ( donne un exemple ) svp
:)
merci d'avence

Posté : 19 nov. 2007, 18:44
par h0_noMan
Alors.

1. Cree un tableau avec tout les extensions accepté (Google : array php)
2. Recuperer l'extension a partir d'un nom : substr() strrpos()
3. Verifier si l'extension est dans le tableau : in_array()

Bonus : strtolower()

Posté : 19 nov. 2007, 18:53
par dave22
oui mais vue que je suis bien débutant :wink: tu peu me faire umpeu plus de detaille svp svp

erci bien ces gentille de votre pare

Posté : 19 nov. 2007, 18:58
par Truc

Posté : 19 nov. 2007, 19:00
par zeus
Modération :
dave22, tu as déjà été averti 1 fois concernant l'orthographe. Si tu es vraiment incapable de faire attention à ce que tu écrit, utilise un correcteur orthographique. En attendant, c'est très agaçant de te lire.

De plus, tu as déjà pas mal de détail et il suffit de chercher un peu dans google et php.net pour trouver. Nous ne ferons pas ton code à ta place.

En raison des points, je verrouille ce sujet. Si tu ne comprends pas un point, je t'invite à ouvrir un nouveau sujet en prenant garde à nos avertissement.