Probleme avec fonction move_uploaded_file()

Résolu/Fermé
Utilisateur anonyme - 23 juin 2010 à 21:12
 Utilisateur anonyme - 23 juin 2010 à 21:40
Bonjour,

Je suis en train de créer une page qui me permettrai d'envoyer des images sur mon FTP. Le problème est que lorsque j'essaye, le site me répond :
Warning: move_uploaded_file(test/logo2.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in function secured by the Olympe PHP module on line 1

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/www/tmp/php2gT0xU' to 'test/logo2.jpg' in function secured by the Olympe PHP module on line 1

Je n'arrive pas à trouver le problème, même après quelques recherches sur le net.

Mon code source :
<div id="corps">
			<h2>Ajouter des films</h2>   
			<p><form action="" method="post" enctype="multipart/form-data">
<?php

	//------------------------ Script de récuperation d'images ------------------------//
		// Récupération du dossier dans lequel le fichier sera uploadé	
		$DESTINATION_FOLDER = 'test/' ;								
		// Taille maximale de fichier, valeur en bytes					
		$MAX_SIZE = 5000000 ;													
		// Définition des extensions de fichier autorisées (avec le ".")
		$AUTH_EXT = array( ".jpg", ".jpeg") ;

		// Fonction permettant de vérifier si l'extension du fichier est autorisée.
		function isExtAuthorized($ext){
			global $AUTH_EXT;
			if(in_array($ext, $AUTH_EXT)){
				return true; }
			else{
				return false; }}

		// On vérifie que le champs contenant le chemin du fichier soit bien rempli.
		if(!empty($_FILES['fichier1']["name"])){
			// Nom du fichier choisi:
			$nomFichier = $_FILES['fichier1']["name"] ;
			// Nom temporaire sur le serveur:
			$nomTemporaire = $_FILES['fichier1']["tmp_name"] ;
			// Type du fichier choisi:
			$typeFichier = $_FILES['fichier1']["type"] ;
			// Poids en octets du fichier choisit:
			$poidsFichier = $_FILES['fichier1']["size"] ;
			// Code de l'erreur si jamais il y en a une:
			$codeErreur = $_FILES['fichier1']["error"] ;
			// Extension du fichier
			$extension = strrchr($nomFichier, ".") ;
			
			// Si le poids du fichier est de 0 bytes, le fichier est
			// invalide (ou le chemin incorrect) => message d'erreur
			// sinon, le script continue.
			if($poidsFichier <> 0){
				// Si la taille du fichier est supérieure à la taille
				// maximum spécifiée => message d'erreur
				if($poidsFichier < $MAX_SIZE){
					// On teste ensuite si le fichier a une extension autorisée
					if(isExtAuthorized($extension)){
						// Ensuite, on copie le fichier uploadé ou bon nous semble.
						$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER . $nomFichier); }
					else {
						echo ("Vous ne pouvez pas envoyer un fichier <u><b>$extension</b></u> !<br/>"); }}
				else {
					$tailleKo = $MAX_SIZE / 1000;
					echo("Vous ne pouvez pas envoyer un fichier de plus de $tailleKo Ko.<br>"); }}
			else {
				echo("The selected file is not correct <br>"); }}
		else {
			echo("Vous n'avez pas choisi de fichier !<br/>"); }
?>
			<table width="100%">
				<tr>
					<th>Ajouter une image</th><th><input type="file" name="fichier1" /></th>
				<tr></tr>
					<th colspan="2" class="center"><input type="submit" value="Ajouter" /></th>
				</tr>
			</table>
			</form>
			</p>
			<p>&nbsp;</p>
		</div>


Merci d'avance

2 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
23 juin 2010 à 21:36
Salut,
1. Vérifie l'existence du dossier "test" qui doit se trouver dans le dossier contenant le script.
2. Essaye de remplacer "test/" par "./test/".
0
C'est bon, j'ai trouvé. En faite, j'avais pas mis le '../' devant comme le dossier 'test' était dans le répertoire précèdent.
Erreur de débutant :s

Merci à toi Flachy Joe de m'avoir aidé !
La mort n'est que le commencement d'une longue vie !
0