upload de fichier en php : problème

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload de fichier en php : problème

par @rthur » 14 août 2007, 11:19

Bonjour,

Essaye de mettre un chmod 777 sur ton répertoire $content_dir
Par ailleurs, je te conseille d'éviter les majuscules dans tes noms de fichiers et de répertoires, utilises t le temps des minuscules, ça évite souvent bien des problèmes ;)

par Ryle » 14 août 2007, 11:19

Et pas de message d'erreur sur le move_uploaded_file() ?

même avec un error_reporting(E_ALL) ?

Vérifies que le dossier de destination existe et que php a bien les droits en écriture pour y coller un fichier...
Rappel : si tu commences l'arborescence par un "/" pour un fichier, il va partir de la racine du systeme de fichier, pas de la racine du site. Je doute que ton serveur dispose des dossier "Sauvetage" ou "Natation" à sa racine (son '/' ou son 'C:\'). Utilise plutôt un chemin relatif :)

upload de fichier en php : problème

par _damien_ » 14 août 2007, 11:13

Bonjour,

Sur mon site, j'ai un formulaire qui permet d'uploader des fichiers sur le serveur (j'ai pris un domaine sur www.one.com)

Mais une fois le fichier envoyé, il me dit:
l'upload a échoué
Par contre quand je teste en local (via wamp serveur), il n'y a aucun problème, ça fonctionne.

j'ai affiché les variables renvoyées:
Array
(
[fichier] => Array
(
[name] => arbre.JPG
[type] => image/jpeg
[tmp_name] => /tmp/phpcfR0Mu
[error] => 0
[size] => 11680
)

)

voici le code que j'utilise:

if( isset($_POST['upload']) ) // si formulaire soumis
	{
		if($section==1)
		{
			$content_dir='/Sauvetage/Resultats/';
		}
		else
		{
			$content_dir='/Natation/';
		}     	
		$tmp_file = $_FILES['fichier']['tmp_name'];
	
		if( !is_uploaded_file($tmp_file) )
		{
			exit("Le fichier est introuvable");
		}	
		// on vérifie maintenant l'extension
		$type_file = $_FILES['fichier']['type'];
	
		if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
		{
			exit("Le fichier n'est pas une image");
		}	
		// on copie le fichier dans le dossier de destination
		$name_file = $_FILES['fichier']['name'];	

		if(move_uploaded_file ($tmp_file, $content_dir.$name_file))
			echo("<br>l'upload a réussi") ;
		else
			echo("<br>l'upload a échoué") ;
	
		echo "Le fichier a bien été uploadé";
	}
	

	$query=mysql_query("insert into resultat (id, date, lieu_compet, resultat, etat) values (' ', '$date', '$lieu', '$tmp_file', '$section');") or die (mysql_error());
	if($query)
	{
		echo 'ok insertion réussie';
	}
Quelqu'un aurait-il une solution??

Merci d'avance.