Upload de fichier

Touriste -  
arthezius Messages postés 3756 Statut Membre -
bonjour,

cela fait 2 jours que j'ai un problème avec mes uploads de fichiers.

En local, l'upload se fait très bien il n'y a aucun problème, mais une fois mis sur le serveur de l'hébergeur il me met 2 messages d'erreurs :

Warning: move_uploaded_file(../images/produits/jaune_vierge.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/www3/fuegotec.ch/test/include/trait_Produits.php  on line 132

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/share/tmp/phpE4NCmX' to '../images/produits/jaune_vierge.jpg' in /home/www3/fuegotec.ch/test/include/trait_Produits.php on line 132


voici la partie upload de mon code :

	//Variable allant désigner le repertoire ou stocker les fichiers uploader
	$chargement="../images/produits/";
			
	//Prend la valeur du nom du fichier selectionné
	$NomFichier = strrchr($_FILES['txtImageProd']['name'], '.'); 
			
	//Extensions acceptées lors de l'upload
	$Extensions = array('.jpg', '.png', '.gif', '.jpeg', '.JPG');
			
	//Nom qui sera modifier selon les caractères du nom de base (voir test plus bas)
	$NomCorrect = basename($_FILES['txtImageProd']['name']);
			
	//Si un fichier a été envoyé	
	if (isset ($NomFichier))
	{
		if($NomFichier != "")
		{
			//On remplace les caractères spéciaux
			$NomCorrect = strtr($NomCorrect, 
				'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
				'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
			$NomCorrect = preg_replace('/([^.a-z0-9]+)/i', '_', $NomCorrect);
					
			//Teste si le nom de fichier correspond avec une des extensions
			if(in_array($NomFichier, $Extensions))
			{
				//Test la taille du fichier pour ne pas prendre de trop gros fichier (taille max : 1 Mo)
				if(filesize($_FILES['txtImageProd']['tmp_name']) < 1000000) 
				{
					if(is_uploaded_file($_FILES['txtImageProd']['tmp_name'])) //si vrai : C'est ok
					{
						//L'image est copiée sous le nom 'fichier.extension' dans le répertoire 'photos/skates'
						move_uploaded_file($_FILES['txtImageProd']['tmp_name'], $chargement.$NomCorrect);
					} //if
					else
					{
						//Message d'erreur
						print ($errUpload);
						//Incrémentation de la variable d'erreur
						$erreurProduit++;
					} //else
				} //if
				else
				{
					//Message d'erreur
					print ('$errFichierLourd);
					//Incrémentation de la variable d'erreur
					$erreurProduit++;
				} //else
			} //if
			else
			{	
				//Message d'erreur
				print ($errExtImage);
				//Incrémentation de la variable d'erreur
				$erreurProduit++;
			} //else
		} //if
		else
		{
			if($idPage = "Modif")
			{
				//Prend l'image du produit modifié
				$RqSQLImage = mysql_query("SELECT Pr_Image FROM t_produits WHERE Id_Produits = $IDModifProd");
				//Prend le valeur de la requête SQL du produit actuel
				$ImageBD = mysql_fetch_array($RqSQLImage);
				
				$NomCorrect = $ImageBD["Pr_Image"];
			} //if
			else
			{
				//Message d'erreur
				print ($errImageNonSelect);
				//Incrémentation de la variable d'erreur
				$erreurProduit++;
			} //else
		} //else
	} //if
	else
	{	
		if($idPage = "Modif")
		{
			//Prend l'image du produit modifié
			$RqSQLImage = mysql_query("SELECT Pr_Image FROM t_produits WHERE Id_Produits = $IDModifProd");
			//Prend le valeur de la requête SQL du produit actuel
			$ImageBD = mysql_fetch_array($RqSQLImage);
			
			$NomCorrect = $ImageBD["Pr_Image"];
		} //if
		else
		{
			//Message d'erreur
			print ($errImageNonSelect);
			//Incrémentation de la variable d'erreur
			$erreurProduit++;
		} //else
	} //else


la ligne 132 étant :

move_uploaded_file($_FILES['txtImageProd']['tmp_name'], $chargement.$NomCorrect);


c'est bizarre car il n'y a pas de problème de syntaxe. Le chemin est correct.

merci pour votre aide
A voir également:

3 réponses

Touriste
 
Tu es sur que le problème viendrait de là ?

trait_Produits.php c'est le fichier contenant le code ci-dessus
0
arthezius Messages postés 3756 Statut Membre 475
 
Le chemin est surement bon en local, mais une fois sur ton serveur distant ?
Vérifie que le chemin est toujours correcte en distant (ça sera pas forcement le même).
0
swoog42 Messages postés 1178 Statut Membre 244
 
D'après le message d'erreur, il te manque le fichier trait_Produits.php
-1