Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1535 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  (Débutant) move_uploaded_file

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(Débutant) move_uploaded_file

n°1923012
kaman
Posté le 10-09-2009 à 16:25:26  profilanswer
 

Bonjour,
 
Question toute simple.
 
J'utilise Uniform Server (même genre que XAMPP) sur mon ordi pour apprendre un peu le PHP mais j'ai du mal à gérer l'upload de fichiers.
J'ai suivi un tuto ( http://www.iutenligne.net/ressourc [...] ap3/2.html ) sur le net mais le fichier ne se copie pas dans le dossier désiré et il n'y a pas d'erreurs dans le log PHP.
 
Concernant le chemin donné en deuxième argument de la fonction move_uploaded_file, il est relatif au document root?
 

Code :
  1. $nomfichier = $_FILES['bob']['name'];
  2. $dest="toto/upload/";
  3. move_uploaded_file($nomfichier, $dest.$nomfichier)


 
C'est basique, mais ça devrait marcher, non? [:tinostar]
 
Merci d'avance :jap:

mood
Publicité
Posté le 10-09-2009 à 16:25:26  profilanswer
 

n°1923227
Tirkyth
Posté le 11-09-2009 à 11:30:05  profilanswer
 

Et avec ceci (en supposant que ton champ de formulaire s'appelle bien "bob" ) :

Code :
  1. $nomfichier = $_FILES['bob']['name'];
  2. $nomfichiertemp = $_FILES['bob']['tmp_name'];
  3. $dest="toto/upload/";
  4. move_uploaded_file($nomfichiertemp, $dest.$nomfichier)


Sinon tu peux essayer de faire :

Code :
  1. var_dump($_FILES);


Et regarder le résultat :)

n°1923228
FlorentG
Posté le 11-09-2009 à 11:31:21  profilanswer
 

C'est pas la sous-clé name qu'il faut utiliser (qui contient le nom original du fichier), mais [i]tmp_name, avec dedans le nom temporaire du fichier tel qu'il squatte sur le serveur.
 
Vérifie aussi que l'upload s'est bien passé avec les différentes erreurs possible :

Code :
  1. if(!isset($_FILES['bob']) {
  2.   // Fichier pas présent dans la requête (genre formulaire truandé)
  3. } else {
  4.   switch($_FILES['bob']['error']) {
  5.     case UPLOAD_ERR_OK:
  6.       move_uploaded_file($_FILES['bob']['tmp_name'], 'toto/upload/' . basename($_FILES['bob']['name']));
  7.       break;
  8.     case UPLOAD_ERR_INI_SIZE:
  9.     case UPLOAD_ERR_FORM_SIZE:
  10.       // Fichier trop gros (via directive php.ini upload_max_filesize ou input hidden MAX_FILE_SIZE);
  11.       break;
  12.    case UPLOAD_ERR_NO_FILE:
  13.       // Fichier pas uploadé (input file laissé vide)
  14.       break;
  15.   default:
  16.       // Autre erreur
  17. }


Voir la Référence sur les erreurs possible.
 
Et aussi n'oublie jamais les attributs enctype="multipart/form-data" et method="POST" sur le <form>, ce sont des oublis courants

n°1923229
FlorentG
Posté le 11-09-2009 à 11:31:32  profilanswer
 
n°1923231
Tirkyth
Posté le 11-09-2009 à 11:34:56  profilanswer
 


Ta réponse est bien plus complète ça aidera sûrement plus kaman :)


---------------
Mon Feedback !
n°1923283
kaman
Posté le 11-09-2009 à 12:52:20  profilanswer
 

Super, merci beaucoup, ça marche! :D
 
En fait, j'avais mal compris le site de php.net:
 

Citation :


bool move_uploaded_file  ( string $filename  , string $destination  )
 
filename
 
The filename of the uploaded file.


 
J'étais donc persuadé qu'il fallait mettre le filename et pas le path.
 
J'aurais du mieux lire :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  (Débutant) move_uploaded_file

 

Sujets relatifs
file_get_contents en aspok
Debutant VB: un probleme de ligne a copier!!![Debutant] Ajouter valeur colonne
[AS2/Flash] Question de débutantRécuperer le chemin depuis un input (type = file )
Question sur le file_get_contents()Cannot resolve file j_spring_security_check
[jquery] Question de débutant...Créer une ListBox (débutant)
Plus de sujets relatifs à : (Débutant) move_uploaded_file


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR