Aller au contenu

pb d'upload de fichiers av php


broadcastor

Sujets conseillés

Bonsoir le hub,

voila je voudrais uploader des fichiers avec php pour mon site. Pour le moment je travaille en local, avec easyphp.

Voila mon formulaire d'upload:

<form method="post" enctype="multipart/form-data" action="../scripts/php/upload.php">
<input type="file" name="fichier" size="30 " />
<input type="submit" name="upload" value="Uploader" />
</form>

Maintenant ma page upload.php:

<?php
$uploaddir = 'uploaded_file/';
$uploadfile = $uploaddir . basename($_FILES['fichier']['name']);

if (move_uploaded_file($_FILES['fichier']['tmp_name'], $uploadfile)) {
  echo "Fichier mis en ligne";
} else {
  echo "Le fichier n'a pu etre uploadé\n";
}
print_r($_FILES);
?>

Et mon message d'erreur:

Warning: move_uploaded_file(uploaded_file/alicante.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\intranet\scripts\php\upload.php on line 5

Warning: move_uploaded_file(): Unable to move 'C:/Program Files/EasyPHP1-8\tmp\php26.tmp' to 'uploaded_file/alicante.txt' in c:\program files\easyphp1-8\www\intranet\scripts\php\upload.php on line 5

Le fichier n'a pu etre uploadé Array ( [fichier] => Array ( [name] => alicante.txt [type] => text/plain [tmp_name] => C:/Program Files/EasyPHP1-8\tmp\php26.tmp [error] => 0 => 19 ) )

Alors voilà, jai beau retourné le probleme dans tous les sens: changer les noms de variables, chemin d'acces au repertoire uploaded_file, ... rien n'y fait.

Mon code vient pourtant de http://www.php.net/manual/fr/features.file-upload.php, mais ça nempeche que ça ne marche pas. SI quelqu'un peu m'eclairer...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je pense que le problème ne provient pas de l'upload mais de la copie.

Je m'explique :

Warning: move_uploaded_file(uploaded_file/alicante.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\intranet\scripts\php\upload.php on line 5
La fonction move_uploaded_file ne renvoie une alerte ("warning") que si une erreur survient lors de la copie.
Si filename n'est pas valide, rien ne se passe, et move_uploaded_file() retournera FALSE.

Si filename est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et move_uploaded_file() retourne FALSE. De plus, une alerte sera affichée.

source : Documentation move_uploaded_file

De plus, avec le print_r (qui affiche le tableau sous forme de string), on peut voir :

[error] => 0

Il n'y a donc aucune erreur de chargement.

$_FILES['userfile']['error']

Le code d'erreur error code associé au téléchargement de fichier. Cet élément a été introduit en PHP 4.2.0

source : Gestion des chargements de fichiers

Vérifie que tu aies (ou plutôt que Apache ait) les droits pour copier le fichier vers la destination.

Sinon tu peux essayé différents tests pour voir d'où provient l'erreur :

  • Lecture sur le fichier chargé
  • Création du fichier destination avant la copie
  • Copie d'un autre fichier vers cette destination
  • ...

Voilà j'espère n'avoir pas trop fait de fautes pour mon 1er post sur le HUB ^_^ .

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...