Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation

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 :
  1. <p>Upload d'images:</p>
  2.  
  3. <form enctype="multipart/form-data" action="reception.php" method="POST">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  5. Choose a file to upload: <input name="uploadedfile" type="file" /><br />
  6. <input type="submit" value="Upload File" />
  7. </form>
  8.  
  9. <?php
  10. // Where the file is going to be placed
  11. $target_path = "folder/";
  12.  
  13. // Add the original filename to our target path.
  14. //Result is "folder/filename.extension"
  15. $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
  16. $_FILES['uploadedfile']['tmp_name'];
  17.  
  18. $target_path = "folder/";
  19.  
  20. $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
  21.  
  22. if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
  23. echo "Le fichier ". basename( $_FILES['uploadedfile']['name']).
  24. " a été transféré.";
  25. } else{
  26. echo "Le transfert a échoué. Recommencer.";
  27. }
  28. ?>

Merci de m'aider à trouver mon erreur.
Et le phpinfo.ini a montré le upload sur "on".
Lassé par la pub ? Créez un compte

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"...

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:
  1. <p>Upload d'images:</p>
  2.  
  3. <form enctype="multipart/form-data" action="reception.php" method="POST">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  5. Choose a file to upload: <input name="uploadedfile" type="file" /><br />
  6. <input type="submit" value="Upload File" />
  7. </form>
  8.  
  9. <?php
  10. // Where the file is going to be placed
  11. $target_path = "folder/";
  12.  
  13. $target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
  14.  
  15. if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
  16. echo "Le fichier ". basename( $_FILES['uploadedfile']['name']).
  17. " a été transféré.";
  18. } else{
  19. echo "Le transfert a échoué. Recommencer.";
  20. }
  21. ?>
Expert Programmation

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.
Lassé par la pub ? Créez un compte