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

  FORUM HardWare.fr
  Programmation
  PHP

  PHP Envoyer un fichier...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP Envoyer un fichier...

n°270314
kik
Aide toi toi même !!!
Posté le 16-12-2002 à 12:12:56  profilanswer
 

Salut,
 
J'aimerai envoyer un fichier que je selectionne dans un explorateur dans un répertoire sur un serveur....
 
Comme puis-je faire? Quelle fonction php dois-je utiliser?
 
Merci :jap:

mood
Publicité
Posté le 16-12-2002 à 12:12:56  profilanswer
 

n°270321
goueg
De passage
Posté le 16-12-2002 à 12:19:16  profilanswer
 

hmm je sais plus le nom de la fonction mais selon ton hébergeur cette fonction peut être désactivée (free, multimania)


---------------
(Feed-Back HFR) - Funky Tonight!
n°270326
kik
Aide toi toi même !!!
Posté le 16-12-2002 à 12:22:53  profilanswer
 

okie mais donc ca existe...

n°270330
goueg
De passage
Posté le 16-12-2002 à 12:28:44  profilanswer
 

ouep, enfin, une fct pour explorer le disque, une fonction pour envoyer le fichier selectionné


---------------
(Feed-Back HFR) - Funky Tonight!
n°270338
mober
Mécréant Notoire
Posté le 16-12-2002 à 12:34:18  profilanswer
 

copy()

n°270339
ethernal
Chercheur de vérité...
Posté le 16-12-2002 à 12:34:20  profilanswer
 

un formulaire avec
<input type="file" name="fichier">
et d'autres choses (max size, etc...)
 
puis récupérer le fichier sur la page de destination

Code :
  1. $file= $_FILES['fichier']['tmp_name'];
  2. if (is_uploaded_file( $file) )
  3.    {
  4.     $new_filename= $_FILES['fichier']['name']; //modifier le nom sur le site (éventuellement)
  5.     if(!@copy( $file, 'repertoire/'. $new_filename){
  6.        echo('Le fichier n\'a pas pu etre sauvé');
  7.     }
  8.     @unlink( $_FILES['fichier']['tmp_name'] );
  9. }
  10. else{
  11.    echo('Aucun fichier n\'a été uplodé');
  12. }


Message édité par ethernal le 16-12-2002 à 12:35:25

---------------
...oups kernel error...
n°270354
mober
Mécréant Notoire
Posté le 16-12-2002 à 12:44:18  profilanswer
 

tu as ton <input type=file name=variable> sur la page où tu selectionnes ton fichier.
 
variable est la variable dans laquelle est enregistré le nom du fichier.
 
ton form doit renvoyé vers le script ki copie le fichier sur le serveur pour ça tu utilises la fonction copy()
 
copy($variable, répertoire de destination (peut être relatif));
 
Faut ke tu fasses attention qu'un fichier du même nom ne soit pas déjà présent dans le répertoiure du serveur et tu as intérêt à empêcher l'enregistrement de certains fichiers.
 

n°270362
mober
Mécréant Notoire
Posté le 16-12-2002 à 12:51:59  profilanswer
 

ah oui et tu as une limite sur la taille des fichier ke tu peux enregister via PHP, par défaut elle est de 8 Mo mais évidemment les hébergeurs la réduisent considérablement.

n°270449
kik
Aide toi toi même !!!
Posté le 16-12-2002 à 14:37:57  profilanswer
 

ok merci... :jap:
 
Sinon ca marche presque mais comme je prends le chemin complet du fichier mesdoc\tutu\tata\fichier.doc il aime pas ... car evidement il prend le full path et sur le serveur il ne veut pas le créer...
C koi la fontion pour virer l'url absolue et garder que le nom du fichier?
:jap:

n°270451
Sh@rdar
Ex-PhPéteur
Posté le 16-12-2002 à 14:41:26  profilanswer
 

basename() il me semble


---------------
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
mood
Publicité
Posté le 16-12-2002 à 14:41:26  profilanswer
 

n°270457
kik
Aide toi toi même !!!
Posté le 16-12-2002 à 14:47:32  profilanswer
 

okie j'vais voir ca :)

n°271230
mober
Mécréant Notoire
Posté le 17-12-2002 à 12:37:47  profilanswer
 

KiK a écrit :

ok merci... :jap:
 
Sinon ca marche presque mais comme je prends le chemin complet du fichier mesdoc\tutu\tata\fichier.doc il aime pas ... car evidement il prend le full path et sur le serveur il ne veut pas le créer...
C koi la fontion pour virer l'url absolue et garder que le nom du fichier?
:jap:


 
:heink:
 
heu...je crois pas ke ce soit à cause de ça.
 
.doc > typiquement le genre de fichier qu'il vaut mieux pas autoriser (because virus) :D

n°271253
mober
Mécréant Notoire
Posté le 17-12-2002 à 13:10:28  profilanswer
 

Un exemple (incomplet).
Tu as les répertoires imgs, docs et upload. imgs et docs sont les répertoire dans lesquels tu enregistres tes fichiers (en fonction de leur type), upload celui dans lequel se trouve les scripts qui permettent d'uploader (index.php et create.php).
 
upload/index.php
 

Code :
  1. <html>
  2. Ajouter un nouveau fichier<br>
  3. <FORM ACTION="create.php" METHOD="post" NAME="upload_fichier" ENCTYPE="multipart/form-data">
  4. <table border=0>
  5. <tr><td>Selection</td><td><INPUT TYPE="file" NAME="file" SIZE="24"></td></tr>
  6. <tr><td>copier dans le répertoire</td><td><select name="rep" size=1><option value="imgs">images</option><option value="docs">documents</option></select></td></tr>
  7. </table>
  8. <div align=right><INPUT TYPE="submit" NAME="ajouter" VALUE="enregistrer"></div>
  9. </FORM>
  10. Nb: La taille maximale des fichiers que votre hébergeur permet d'enregistrer est de <b><?php echo ini_get(post_max_size); ?>octets</b>.<br>Vous ne pouvez enregistrer que des fichiers aux formats .jpg, .png, .rtf, .pdf, .txt, .swf, .gif.
  11. </html>


 
upload/create.php
 

Code :
  1. <?php
  2. if ($rep=='imgs' or $rep=='docs') {
  3. $filename=str_replace(" ","_",$file_name);
  4. $filecontrol=strstr($file_name,"." );
  5. if ($filecontrol=='.gif' or $filecontrol=='.swf' or $filecontrol=='.jpg' or $filecontrol=='.png' or $filecontrol=='.rtf' or $filecontrol=='.txt' or $filecontrol=='.pdf') {
  6.  copy("$file","../$rep/$filename" );
  7.  }
  8. }
  9. header("Location: ./" );
  10. ?>


 
ça devrait marcher...
 
c important pour des raisons de sécurité d'empêcher l'upload de fichiers .php


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

  PHP Envoyer un fichier...

 

Sujets relatifs
Ouoverture de page par script PHP[PHP MYSQL] Trier une table dans la base
Creer un fichier XML en Java[PHP] pb de generation de tableau auto 1 ligne Ok 2eme NaN
transferer un fichier sur un serveur ftp[PHP] Petit soucis avec une expression régulière
Comment géré une cession PHP pour garder la connection Oracle ???[PHP - HTML] Formulaires
[PHP] envoyer un fichier dans la base de données depuis une page[PHP] Comment envoyer un fichier sur le server?
Plus de sujets relatifs à : PHP Envoyer un fichier...


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