[PHP] Upload de fichier + copie dans répertoire

  • Auteur de la discussion dartyduck
  • Date de début

dartyduck

Grand Meuble Suprême
Bonjour,
je souhaite avoir une page (privée) de transfert de fichiers vers un répertoire précis. Vu que c'est à usage privé, je me fous des conditions de taille et dimensions.
J'ai déjà trouvé un code et modifié pour que ca s'adapte chez moi mais ca déconne :
[cpp]<p>Upload d'images:</p>

<form enctype="multipart/form-data" action="reception.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

<?php
// Where the file is going to be placed
$target_path = "folder/";

// Add the original filename to our target path.
//Result is "folder/filename.extension"
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
$_FILES['uploadedfile']['tmp_name'];

$target_path = "folder/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "Le fichier ". basename( $_FILES['uploadedfile']['name']).
" a été transféré.";
} else{
echo "Le transfert a échoué. Recommencer.";
}
?>[/cpp]
Merci de m'aider à trouver mon erreur.
Et le phpinfo.ini a montré le upload sur "on".
 

marsien

Grand Maître
Je comprends pas trop ton code entre les lignes 11 et 20... Tu es sur de ce que tu fais ?

Et quelle est l'erreur quand tu dis que ça déconne ?
 

dartyduck

Grand Meuble Suprême
ben en fait, il m'affiche d'entrée le formulaire mais en dessous il y a "Le transfert a échoué. Recommencez." alors que j'ai encore rien fait. Puis il me prend l'image mais elle apparait pas dans le répertoire. et il remet la page du formulaire avec toujours la meme phrase "Le transfert...".
Et les lignes 11 à 20 c'est pas pour lui dire de le mettre dans un rep temporaire ?
Et je comprends pas cette histoire de création de fichier "réception.php"...
 

dartyduck

Grand Meuble Suprême
alors je suis pas sur mon pc, je m'en souviens pas. je te le donne demain soir.
 

KangOl

Grand Maître
au fait, ligne 11 et 18 sont les meme, il y a surement un copier/coller malheureux qui fout tout en l'air
 

dartyduck

Grand Meuble Suprême
alors pour toi faut les enlever ? Mais meme en les enlevant, ca marche toujours pas. C'est quoi le vrai probleme dans mon code ?
J'ai retiré les lignes qui te genaient:
[cpp]<p>Upload d'images:</p>

<form enctype="multipart/form-data" action="reception.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

<?php
// Where the file is going to be placed
$target_path = "folder/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "Le fichier ". basename( $_FILES['uploadedfile']['name']).
" a été transféré.";
} else{
echo "Le transfert a échoué. Recommencer.";
}
?>[/cpp]
 

marsien

Grand Maître
Tu ne contrôles pas l'existence de $_FILES avant d'exécuter ton script. Du coup, il est traité à chaque chargement de la page, même quand il n'y a pas de fichier uploadés. D'où l'erreur à mon avis.
 

marsien

Grand Maître
Le truc que j'utilise pour être sûr de ce que j'upload :
Code:
if ((isset($_FILES['nom_du_fichier']['fichier'])&&($_FILES['nom_du_fichier']['error'] == UPLOAD_ERR_OK))
 

marsien

Grand Maître
PS : pour Boub ; on peut remplacer isset() par array_key_exists() :)
 

dartyduck

Grand Meuble Suprême
juste une question: j'ai pas besoin de ma bdd opur faireça, si ?
 

marsien

Grand Maître
Ben non, où vois tu dans ton script qu'il y a un accès à mysql ?
 

dartyduck

Grand Meuble Suprême
nulle part, mais je me demandais où il stockait le fichier en attendant de le copier dans le répertoire désigné ?
 

marsien

Grand Maître
Il est conservé dans un dossier temporaire sur le serveur (d'où "tmp_name" de ton script) ;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 126
Messages
6 717 810
Membres
1 586 365
Dernier membre
matiOs1
Partager cette page
Haut