[PHP]Upload de fichier !

Upload de fichier ! [PHP] - PHP - Programmation

Marsh Posté le 06-05-2002 à 19:36:04    

Bonjour,
Voilà mon probleme ...
J'ai un formulaire avec un champ fichier, le mec choisit son fichier et il l'envoit.
Comment copie t on un fichier ??? en gros, comment on l'uploade ?
Y a t il des fonctions précises pour connaitre l'extension, etc ???

Reply

Marsh Posté le 06-05-2002 à 19:36:04   

Reply

Marsh Posté le 06-05-2002 à 19:49:59    

regarde dans la doc (lien dans ma signature) c'est expliqué.


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 19:55:18    

ok,, c cool, je trouve que dalle
qqun pour dire comment il fait ?

Reply

Marsh Posté le 06-05-2002 à 19:57:29    

t'as regarde 6 minutes la doc et t'as pas trouve ??? domage !! :fou:

Reply

Marsh Posté le 06-05-2002 à 19:59:09    

http://www.php.net/manual/fr/features.file-upload.php


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 20:04:16    

ok
un truc que je comprends pas dans leur merde, c'est comment on a acces au nom meme du fichier, et à son type mime ...
là, j'arrive à copier mon fichier, oui, mais je n'arrive pas à obtenir son nom ...
vous comprenenez ?

Reply

Marsh Posté le 06-05-2002 à 20:07:58    

Notez que les noms des variables suivantes supposent que nom du fichier téléchargé est 'userfile', comme présenté dans l'exemple ci-dessus.  
 
 
$userfile - Le nom temporaire du fichier qui sera chargé sur la machine serveur.  
 
$userfile_name - Le nom du fichier original sur le système de l'envoyeur.  
 
$userfile_size - La taille du fichier envoyé en octets.  
 
$userfile_type - Le type MIME du fichier, si le navigateur a fourni cette information. Par exemple, "image/gif".  
 
Notez que "$userfile" prend la valeur qui est passée dans le champs INPUT de type TYPE=file. Dans l'exemple ci-dessus, nous avons choisi de l'appeler "userfile".

 
comme tu copies le fichier temporaire vers sa destination finale tu peux changer le nom à ce moment là (un simple copy(source,destination) suffit)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 20:08:15    

si tu nommes ton input de type file "fichier" par exemple, tu peux accéder au fichier temporaire local avec la variable $fichier (chemin complet : /tmp/fhIdsq45 par exemple), le nom original du fichier (myImage.gif) par $fichier_name, la taille du fichier par $fichier_size, et le type MIME (image/gif) par $fichier_type (je suis plus sur du dernier)
c très simple à trouver dans la doc pourant

Reply

Marsh Posté le 06-05-2002 à 20:09:43    

biniou a écrit a écrit :

 
...  
c très simple à trouver dans la doc pourant  




 
mais la page st pas lisible entièrement en 5 minutes :sarcastic:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 20:32:47    

bah oui, mais chez moi, ça marche pas :/
j'ai essayé, de faire : $file_name
et ça marchait pas :/

Reply

Marsh Posté le 06-05-2002 à 20:32:47   

Reply

Marsh Posté le 06-05-2002 à 20:32:56    

et ça marche tout le temps pas :/

Reply

Marsh Posté le 06-05-2002 à 20:38:08    

voilà mon code :
 

Code :
  1. if (copy($file, "../cours/prout" )){
  2.  echo $file_name;
  3.   $message="<font face='Arial' size='2'><b>Le fichier a bien été uploadé !</b></font>";
  4.  }
  5.  else{
  6.   $message="<font face='Arial' size='2'><b>Probleme lors du transfert de fichier ...</b></font>";
  7.  }


 
 
et un
echo $file_name;
marche pas :/

Reply

Marsh Posté le 06-05-2002 à 21:07:12    

tu dois mettre le chemin complet pour la copie (en général /var/www etc..)
 
tu pourras trouver le path dans un phpinfo()


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 21:18:35    

mais là, je fichier marche, sans probleme !!!
mais j souhaiterais pouvoir accéder au nom du fichier meme !!! tu vois ?

Reply

Marsh Posté le 06-05-2002 à 21:27:03    

pour extraire le nom d'un fichier d'un chemin, il y a la fonction basename(), et en plus elle est dans la doc (sur nexen, la truc magique, index des concepts).


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 06-05-2002 à 22:26:51    

attends, dans ton code HTML, tu as bien ça :
<input type="file" name="file" />
 
??
 
c le nom qui est important
 
si tu mets :
<input type="file" name="monFichier" />
 
les noms de variables sont $monFichier, $nomFichier_name, $nomFichier_size et $nomFichier_type
 
et il faut aussi penser à mettre le bon type d'encodage pour ton formulaire :
 
<form action="..." enctype="multipart/form-data" .... >
 
et enfin, penser au champ caché MAX_FILE_SIZE :
 
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
avec cette ligne, tu ne peux pas uploader de fichier de plus 1000000 d'octets....
 
enfin, en PHP4, tu as un autre moyen d'accéder à tout ça via un tableau global ($HTTP_....., je sais plus le nom, voir la doc)

 

[jfdsdjhfuetppo]--Message édité par biniou le 06-05-2002 à 22:27:19--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 06-05-2002 à 22:39:03    

c'est $HTTP_POST_FILES[]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 07-05-2002 à 09:13:12    

Sh@rdar a écrit a écrit :

c'est $HTTP_POST_FILES[]  




 
merci  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed