8792 sujets

Développement web côté serveur, CMS

Bonjour par ici,

Voila, ca va faire 3 jours que je parcours le net sans trouver la solution. Je souhaite pouvoir uploader des images sur mon serveur, (pour les avatars de mes membres), seulement, le .JPG (en majuscule) ne passe pas... J'ai essayé plusieurs type de mime, mais rien n'y fait, voila mon code:

<?php
echo "<form method=\"post\" action=\"index.php?page=upload_avatar\" ENCTYPE=\"multipart/form-data\">";
echo "<FIELDSET>";
echo "<legend>Upload avatar</legend>";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"150000\" />";
echo "<label for=\"avatar\">Avatar:</label>";
echo "<input class=\"input_avatar\" type=\"file\" name=\"avatar\"/><br/>";
echo "</FIELDSET>";
echo "<div><input class=\"submit\" type=\"submit\" name=\"go\" value=\"Valider\"></div>";
echo "</form>";

$msg="";

if(isset($_POST["go"])) {

	$infos=$_FILES["avatar"];
	$nom=$infos["name"];
	$mime=$infos["type"];
	$taille=$infos["size"];
	$fichier_tmp=$infos["tmp_name"];
	$code_erreur=$infos["error"];
	
	if(($mime=="image/jpeg")||($mime=="image/gif")||($mime=="image/pjpeg")||($mime=="image/x-png")) {
		switch($code_erreur) {
		case  UPLOAD_ERR_OK : $destination="C:/Program Files/EasyPHP1-8/www/monsite/contenu/avatars/$nom";
			if(copy($fichier_tmp,$destination)) {
				$msg = "<p>Transfert terminé ! - Fichier = $nom</p>";
			}
			else {
				$msg = "<p>Problème de transfert sur le serveur</p>";
			}
			break;
		case UPLOAD_ERR_NO_FILE : 
			$msg ="<p>Pas de fichier saisi.</p>";
			break;
		case UPLOAD_ERR_FORM_SIZE :
			$msg = "<p>Fichier '$nom' non transféré (taille > 150Ko)</p>";
			break;
		case UPLOAD_ERR_PARTIAL :
			$msg = "<p>Fichier partiellement transféré (problème lors du transfert)</p>";
			break;
		case 5 : 
			$msg = "<p>Fichier non transféré (non trouvé)</p>";
			break;		
		default :
			$msg = "<p>Fichier non transféré, veuillez rééssayer ulterieurment</p>";
			break;
		}
	}
	else {
		$msg = "<p>Seul les .jpg ou .gif sont acceptés</p>";
	}
}
	
echo $msg;	

?>


Merci à vous.
Salut Smiley cligne

Après avoir fait ton test de formulaire:

if(isset($_POST["go"]))


Je te suggère d'utiliser la fonction getimagesize(), et puis si tu veux un exemple de script d'upload d'image qui fonctionne , tu peux toujours voir ici.