8797 sujets

Développement web côté serveur, CMS

Bonjour,

ma fonction upload ne fonctionne pas en ligne

mon code est le suivant:

<?php
if(isset($_FILES["fichier"])){

switch($_FILES["fichier"]["error"]){
case 0: $erreur="Pas d'erreur"; break;
case 1: $erreur="Le fichier dépasse la taille max. définie sur le serveur (php.ini)"; break;
// directive upload_max_filesize
case 2: $erreur="Le fichier dépasse la taille max. définie dans le formulaire"; break;
case 3: $erreur="Le fichier n'a été que partiellement chargé"; break;
case 4: $erreur="Le fichier n'a pas pu être téléchargé"; break;
case 5: $erreur="Il n'existe pas de dossier temporaire, tel que défini par le serveur (php.ini)"; break;
// directive upload_tmp_dir
case 6: $erreur="Impossible d'écrire dans le dossier : vérifiez les droits"; break;
default: $erreur="Erreur inconnue"; break;
}
if($_FILES["fichier"]["error"]==0){
$depart=$_FILES["fichier"]["tmp_name"];
$arrivee="fichiers/".$_FILES["fichier"]["name"];
// vérification qu'un fichier portant ce nom n'existe pas déjà
if(file_exists($arrivee)){
$erreur="Un fichier portant ce nom existe déjà";
} else {
if(move_uploaded_file($depart, $arrivee)){
header("Location:upload_reussi.php");
} else {
$erreur="Impossible de transférer le fichier";
}
}
}

}
?>
<p>Comment placer un fichier sur serveur</p>
<?php if(isset($erreur)) echo "<p>$erreur</p>"; ?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="153600" />
<!-- précise la taille maximale autorisée (en octets - ici 150 ko),
doit précéder le champ "file" -->
<input type="file" name="fichier" />
<input type="submit" />
</form>


et il me mets ces messages d'erreurs:

Warning: move_uploaded_file(fichiers/ORCHIDEE-PARME_970_150.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/users3/j/jeje78/www/atelierphp/upload.php on line 23

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/temporaire/upload/phpwshIuZ' to 'fichiers/ORCHIDEE-PARME_970_150.jpg' in /home/users3/j/jeje78/www/atelierphp/upload.php on line 23

Comment placer un fichier sur serveur

Impossible de transférer le fichier


merci si vous avez une idée

Bonne journée
as tu les droits? si tu es chez un hebergeur vérifie. il y a parfois une option dans leur interface où on attribue les droits d'éxecution.

sinon tu travailles en utilisant des chemins relatifs? Smiley confus . bof. tu dois surement dans une variable avoir acces aux racines disque et url de ton serveur.

attention move_upload_file si je me souviens bien travail avec des adresses sur le disque ( genre c:/mon_dossier_serveur/www/bidule/mon_fichier.php et non http://bidule/monfichier.php )
Modifié par CPascal (16 Apr 2008 - 22:04)
Est ce normal que j'ai la même erreur en local?

Warning: move_uploaded_file(fichiers/ORCHIDEE-PARME_970_150.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\wamp\www\Hermes\upload.php on line 23

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:/wamp/tmp\php7.tmp' to 'fichiers/ORCHIDEE-PARME_970_150.jpg' in D:\wamp\www\Hermes\upload.php on line 23


merci je commence a m'arracher les cheveux, je ne comprends pas trop les histoires de droits!

help!

merci
Est ce que quelqu'un pourrait l'essayer sur son serveur en local ou ftp pour me dire ce qui ne va pas,

je commence a déprimer!

merci beaucoup

je redonne mon script


<?php
if(isset($_FILES["fichier"])){

switch($_FILES["fichier"]["error"]){
case 0: $erreur="Pas d'erreur"; break;
case 1: $erreur="Le fichier dépasse la taille max. définie sur le serveur (php.ini)"; break;
// directive upload_max_filesize
case 2: $erreur="Le fichier dépasse la taille max. définie dans le formulaire"; break;
case 3: $erreur="Le fichier n'a été que partiellement chargé"; break;
case 4: $erreur="Le fichier n'a pas pu être téléchargé"; break;
case 5: $erreur="Il n'existe pas de dossier temporaire, tel que défini par le serveur (php.ini)"; break;
// directive upload_tmp_dir
case 6: $erreur="Impossible d'écrire dans le dossier : vérifiez les droits"; break;
default: $erreur="Erreur inconnue"; break;
}
if($_FILES["fichier"]["error"]==0){
$depart=$_FILES["fichier"]["tmp_name"];
$arrivee="fichiers/".$_FILES["fichier"]["name"];
// vérification qu'un fichier portant ce nom n'existe pas déjà
if(file_exists($arrivee)){
$erreur="Un fichier portant ce nom existe déjà";
} else {
if(move_uploaded_file($depart, $arrivee)){
header("Location:upload_reussi.php");
} else {
$erreur="Impossible de transférer le fichier";
}
}
}

}
?>
<p>Comment placer un fichier sur serveur</p>
<?php if(isset($erreur)) echo "<p>$erreur</p>"; ?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="153600" />
<!-- précise la taille maximale autorisée (en octets - ici 150 ko),
doit précéder le champ "file" -->
<input type="file" name="fichier" />
<input type="submit" />
</form>
Salut,

tu as bien créé un répertoire fichiers au même niveau que tes pages php Smiley rolleyes ?

Si oui je ne vois pas pourquoi ça ne fonctionnerait pas...

A+