[PHP] Comment envoyer un fichier sur le server?

Comment envoyer un fichier sur le server? [PHP] - Programmation

Marsh Posté le 11-01-2002 à 00:14:54    

Bonjour,
 
Je voudrais pourvoir envoyer des petits fichiers a partir d'une page html, d'un formulaire sur le server hebergeant le site.
 
Comment je peux faire ca?
 
Merci

Reply

Marsh Posté le 11-01-2002 à 00:14:54   

Reply

Marsh Posté le 11-01-2002 à 00:29:44    

<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD="POST">
<INPUT TYPE=hidden name="MAX_FILE_SIZE" value="204800">
Fichier à envoyer : <INPUT TYPE="FILE" name="up" size=80> (Max 200Ko)<BR>
<INPUT TYPE="submit" VALUE="Envoyer !">
</FORM>
 
Ensuite, comme mon input type=file se nome up, en PHP, jais les variables suivantes disponibles upload.php:
 
$up_type Type du fichier, par ex :"image/pjpeg"
$up      Nom TEMPORAIRE du fichier reçu
$up_name Nom d'origine du fichier reçu
$up_size Taille du fichier
 
Upload.php doit IMPERATIVEMENT copier le fichier $up sous un autre nom, car en fin de script, le fichier $up est supprimé !
 
DOC Officielle : http://www.php.net/manual/fr/features.file-upload.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:07:36    

merci mais la ya juste le formulaire. Et le bout de code qui gere l'envoi il ressemble a koi?

Reply

Marsh Posté le 11-01-2002 à 01:20:55    

YA PAS DE CODE PHP QUI GERE L'ENVOI !
 
Tu fais un formulaire comme le mien par exemple.
 
Il doit utiliser la METHOD=POST
 
Le fichier à envoiyer est spécifié avec <INPUT TYPE=FILE . . .
 
Quand tu clic sur le bouton de soumission du formulaire, le fichier est envoyé au serveur.
C'est une fonctionnalité du HTML.
 
Ensuite, il faut un script qui gère la RECEPTION.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:22:35    

Apparament ya encore "quelques" subtilite qui m'echappe :lol:   :pt1cable:

Reply

Marsh Posté le 11-01-2002 à 01:23:53    

Les subtilités, ce serait pas sur le mode de fonctionnement d'une requête HTTP ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:32:04    

Toujours pas pigé ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:35:39    

Mara's dad a écrit a écrit :

Les subtilités, ce serait pas sur le mode de fonctionnement d'une requête HTTP ?  




 
Bah moi je verrais plus sur tout le html en general :lol:  
 
il me donne une erreur:
 
Warning: Max file size of 0 bytes exceeded - file [userfile] not saved in Unknown on line 0
 
Parse error: parse error in /upload.php3 on line 19

Reply

Marsh Posté le 11-01-2002 à 01:41:12    

Le : <INPUT TYPE=hidden name="MAX_FILE_SIZE" value="204800">
 
Est OBLIGATOIRE !
 
T'as lu la doc ?
 
Elle est en Français tu sais !
 
http://www.php.net/manual/fr/features.file-upload.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:44:59    

Ouais j'ai lu
 
Bon alors j'ai 1 fichier avec le formulaire:<html>
 
 <head>
  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
  <meta name="generator" content="Adobe GoLive 5">
  <title>Welcome to Adobe GoLive 5</title>
 </head>
 
 <body bgcolor="#ffffff">
  <div align="center">
   <p>
   <FORM ENCTYPE="multipart/form-data" ACTION="upload.php3" METHOD="POST">
   <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="204800">
   Fichier à envoyer : <INPUT TYPE="FILE" name="userfile" size=80> (Max 200Ko)<BR>
   <INPUT TYPE="submit" VALUE="Envoyer!">
   </FORM>
 
   </p>
  </div>
 </body>
 
</html>
 
et un fichier upload.php3:
 
<?
if (is_uploaded_file($userfile)) {
    copy($userfile, "../media/trombino/" );
} else {
    echo "Attaque potentielle par fichier téléchargé : fichier '$userfile'.";
}
/* ...ou... */
move_uploaded_file($userfile, "/dossier/des/fichiers/telecharges" );
?>

Reply

Marsh Posté le 11-01-2002 à 01:44:59   

Reply

Marsh Posté le 11-01-2002 à 01:52:32    

Yes, c'est  
copy($userfile, "../media/trombino/" );  
 
OU
 
move_uploaded_file($userfile, "/dossier/des/fichiers/telecharges" );  
 
Pas les deux !
 
Pis y fô que le répertoire cible existe, et donner un nom au fichier.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 01:59:41    

Quelque soit je fichier que je prends il me dit tjs:
 
Warning: Max file size of 0 bytes exceeded - file [userfile] not saved in Unknown on line 0

Reply

Marsh Posté le 11-01-2002 à 02:18:53    

Un exemple qui marche chez FREE :
http://fsurleau.free.fr/upload/upload.php3
 
Avec le source Oeuf Corse !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 02:34:01    

je me demande si c'est pas multimania qui part en sucette car si j'UL un fichier txt vide il me met pas d'erreur. Par contre des que j'y met un caractere de dans il me donne l'erreur  que j'ai cite precedemment.

Reply

Marsh Posté le 11-01-2002 à 02:39:58    

Sur multimania, y'a pas des pages d'aide sur ce genre de trucs ?
 
Fais un coup de phpinfo() pour voir, y'a des infos sur le upload.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 02:51:11    

j'ai trouve ca:
 
file_uploads 1 1  
upload_max_filesize 0 0  
upload_tmp_dir ./ ./  
 
la premiere valeur est la Local value et la deuxieme est la Master Value.
 
Ca se change c valeurs?

Reply

Marsh Posté le 11-01-2002 à 02:54:26    

Tient je viens de trouver ca:
 
 Upload de fichiers
 
Pour des raisons de sécurité, l'upload de fichiers via un script PHP n'est pas autorisé.
 
Bah alors c'est grille faut que je prenne un autre hebergeur. Chez free ca marche?

Reply

Marsh Posté le 11-01-2002 à 03:08:00    

Mara's dad a écrit a écrit :

Un exemple qui marche chez FREE :
http://fsurleau.free.fr/upload/upload.php3
 
Avec le source Oeuf Corse !  




 
Tu lis pas tout TOI !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-01-2002 à 03:13:42    

Mara's dad a écrit a écrit :

 
 
Tu lis pas tout TOI !  




 
Si mais s'etait pour avoir une 2eme confirmation :D
 
la je suis en train de ragarder si ca pourrait marcher chez wanadoo. Mais j'ai deja po trouve si il supportent le php :sarcastic:
 
pour avoir une page perso chez free faut avoir un forfait internet chez eux?

 

[edtdd]--Message édité par IvanleFou--[/edtdd]

Reply

Marsh Posté le 13-02-2002 à 02:06:17    

Bon me revoila avec mon pbr sur les bras.
 
J'avais laisse tomber pour le moment car mon hebergeur avait desactive la fonction. J'ai maintenant un herbergeur qui la supporte mais je n'arriev tjs pas a faire marcher la fonction :fou:  
 
Voici le script (nom du fichier: upload_wu.php3):
 
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body bgcolor="#FFFFFF" text="#000000">
<?
switch($action)
{
case "send";
if (is_uploaded_file($userfile)) {
   if(!copy($userfile, "http://nomdusite/wu/" )) echo "marche po";
   //if(!move_uploaded_file($userfilee, "http://nomdusite/wu/" )) echo "marche po";
   else echo "fichier copie!";
}
exit;
break;
 
default;
?>
  <FORM ENCTYPE="multipart/form-data" ACTION="upload_wu.php3" METHOD="POST">
  <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="204800">
  Fichier à envoyer : <INPUT TYPE="FILE" name="userfile" size=80> (Max 200Ko)<BR>
  <INPUT TYPE="submit" name="action" value="send">
  </FORM>
 
<?
break;
}
?>
</body>
</html>
 
Et ce me sort ca comme message d'erreur:
 
Warning: Unable to create 'http://setiaddicted.pas-trop.net/wu/': No such file or directory in /var/www/setiaddicted/wu/upload_wu.php3 on line 16
 
Warning: Unable to move '/tmp/phpTxsFKp' to 'http://setiaddicted.pas-trop.net/wu/' in /var/www/setiaddicted/wu/upload_wu.php3 on line 16
marche po
 
La j'ai vraiment besoin d'aide car je pete un cable :crazy:

 

[jfdsdjhfuetppo]--Message édité par IvanleFou--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 13-02-2002 à 02:14:52    

fo préciser le nom du fichier là tu met que le nom du répertoire

Reply

Marsh Posté le 13-02-2002 à 02:26:31    

Bon j'ai mis ca a la place:
 
if(!move_uploaded_file($userfile, "http://setiaddicted.pas-trop.net/wu/aa.txt" )) echo "marche po";
 
ou bien meme:
 
   if(!move_uploaded_file($userfile, "http://setiaddicted.pas-trop.net/wu/$userfile_name" )) echo "marche po";
 
J'obtiens tjs un message d'erreur:
 
Warning: Unable to create 'http://setiaddicted.pas-trop.net/wu/aa.txt': No such file or directory in /var/www/setiaddicted/wu/upload_wu.php3 on line 16
 
Warning: Unable to move '/tmp/phpogkf0g' to 'http://setiaddicted.pas-trop.net/wu/aa.txt' in /var/www/setiaddicted/wu/upload_wu.php3 on line 16
marche po

 

[jfdsdjhfuetppo]--Message édité par IvanleFou--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 22-02-2002 à 14:30:49    

je m'intéresse à çà  
 
et il y a une différence entre PHP3 et 4
en v4 faut utiliser  çà
 
$HTTP_POST_FILES['userfile']['name']
et non plus çà
 
$userfile
 
pour avoir le nom de fichier
 
cf le lien de Mara's mad vers php.net ;)


---------------
Mes photos,Feed-Back HA/V
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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