Comment envoyer un fichier sur le server? [PHP] - Programmation
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
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?
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.
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 ?
Marsh Posté le 11-01-2002 à 01:32:04
Toujours pas pigé ?
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
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
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
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" );
?>
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.
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
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 !
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.
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.
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?
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?
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 !
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
la je suis en train de ragarder si ca pourrait marcher chez wanadoo. Mais j'ai deja po trouve si il supportent le php
pour avoir une page perso chez free faut avoir un forfait internet chez eux?
[edtdd]--Message édité par IvanleFou--[/edtdd]
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
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
[jfdsdjhfuetppo]--Message édité par IvanleFou--[/jfdsdjhfuetppo]
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
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]
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
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