Probleme script upload images ...

Eléphant du PHP | 80 Messages

14 mai 2008, 15:34

Bonjour à tous, j'ai repris un code que j'avais déja utilisé sur un site pour l'upload d'images qui marchait bien pour le remettre sur un autre site .

Le probleme, c'est que l'upload ne marche pas :(

code html

Code : Tout sélectionner

<form method="post" action="valid_image.php"> <!-- On limite le fichier à 100Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <input type="hidden" name="titre" value="<?php echo $titre; ?>"> image : <input type="file" name="photo_1"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form>

Code php

<?
 
	$dossier = 'upload/';
	$fichier = basename($_FILES['photo_1']['name']);
	$taille_maxi = 100000;
	$taille = filesize($_FILES['photo_1']['tmp_name']);
	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
	$extension = strrchr($_FILES['photo_1']['name'], '.'); 
	//Début des vérifications de sécurité...
	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
		{
     	$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg !';
		}
		if($taille>$taille_maxi)
		{
     	$erreur = 'Le fichier est trop gros...';
		}
	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
		{
     	//On formate le nom du fichier ici...
     	$fichier = strtr($fichier, 
          	'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          	'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     	$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     	if(move_uploaded_file($_FILES['photo_1']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     		{
			$titre=$_POST['titre'];
			$f=$_FILES['photo_1']['name'];
			mysql_connect('mysql5-6','nom_utilisateur','mdp');
			mysql_select_db('nom_base');
			mysql_query("UPDATE don SET photo_1='$f' WHERE titre='$titre'");
          	
			echo 'L\' image de présentation de votre objet vient d\' être publiée avec succès ! Cependant, il se peut qu\' elle soit supprimée si elle comporte un caractère pornographique, pédophile oubien discriminatoir ... Merci de votre compréhension !';
     		}
     	else //Sinon (la fonction renvoie FALSE).
     		{
          	echo 'Echec de l\'upload !';
     		}
		}
	else
		{
     	echo $erreur;
		}
 
?>


L'upload m'affiche toujours "Vous devez uploader un fichier de type png, gif, jpg, jpeg !" alors que j'upload des fichiers de ces type la ...

Merci de votre aide par avance ;)[/code][/php]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 mai 2008, 15:40

il te manque l'attribut enctype de la balise form

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 80 Messages

14 mai 2008, 15:42

arf oui, suis-je bêêêête, je vais remettre ça :D merci beaucoup, je te tiens au courant ;)

En effet, comme quoi on cherche des choses compliquées alors que c'était si bête ... Bref, merci beaucoup :D