Soyez le premier à donner votre avis sur cette source.
Snippet vu 22 707 fois - Téléchargée 29 fois
//dans index.php <body> <form action=finftp.php method=post name=form_edit enctype="multipart/form-data"> <?php $a=10; for ($i=0;$i<=$a;$i++) echo "<input type=file name=file[$i] enctype=\"multipart/form-data\" size=40><br>"; ?> <input type=submit> </form> //dans finftp.php <?php $ftp="ftp.adresse.com"; $ftpuser="user"; $ftppass="pass"; $a=0; $ftpc=ftp_connect($ftp); $result_login=@ftp_login($ftpc, $ftpuser, $ftppass); phpinfo(); if ((!$result_login) || (!$ftpc)) { die("impossible de se connecter"); } else { while($a<sizeof($HTTP_POST_FILES["file"]["name"])) { if (!(copy($HTTP_POST_FILES["file"]["tmp_name"][$a],"./temp/".$HTTP_POST_FILES["file"]["name"][$a]))) die ("echec de la copie de ./temp/".$HTTP_POST_FILES["file"]["name"][$a]." en local"); else echo "copy de ./temp/".$HTTP_POST_FILES["file"]["name"][$a]." réussie<br>"; $local_file= "./temp/".$HTTP_POST_FILES["file"]["name"][$a]; $remote_file= "html/upload/".$HTTP_POST_FILES["file"]["name"][$a]; $put= @ftp_put($ftpc, $remote_file, $local_file, FTP_BINARY); if (!$put) { die("upload de $local_file a echoue \n<br>"); } else { echo "upload de $local_file reussi \n<br>"; } $a++; if (!(@unlink($local_file))) echo("erreur lors de la suppression"); } } ?>
l'action de ton form pass par une methode GET (d'ou le ?file=xxx...derriere le nom de ton fichier)
alors que mon script utilise la methode POST
d'où un pb de conflit...
si tu dis a ton script "bon tu es pret je te parle en anglais?" et que tu lui parle en allemand...il va avoir qques pepins...bah la c pareil:D
si tu veux que ca fonctionne met ca dans ta page <form action"index.php" method=post>
par defaut tu peux avoir seulement <form action"index.php"> (ce qui met get par defaut..)
(attention aussi a verifier le nom de tes variables ensuite dans ton switch
ne les passant plus en get mais en post ca risque de provoquer qqques changement suivants ton hebergeur (et le php utilisé))
Je suis loin d'être un expert en php mais je me debrouille tant bien que mal. Pourtant j'ai un soucis avec ton script. Voici mon pb:
Si je comprend bien comment sa marche les $_POST et autres (c tout neuf pour moi) sa fait passer un array depuis le form jusqu'a l'upload (si c'est faux arretez moi).
Donc ... J'utilise un switch dans mon index pour n'avoir qu'une seul page php. Je crée donc des functions qui sont appelées en temps voulu. L'action de mon form n'appel pas un fichier mais donc une function (index.php?file=xxx&switch=do_upload ar ex). Le pb c'est que l'array ne passe pas. J'ai donc mis $_POST dans mon switch et $data dans ma function pour recupérer l'array qui sera nomer $data. Evidement, sa marche pas: l'array $data est vide ...
J'ai donc essayer de virrer $_POST et $data de mon switch/function pour appeler l'array via $HTTP_POST_FILE. Normalement sa devrait aller, je comprend po trop ou sa cloche.
Un ptit coup de main serais pas de refus :)
tu m'explique la difference entre $i <= $a et $i <= $a
:D j'pense juste que tu t'es planter sur ce que tu voulais mettre
bref la n'etait pas la question
si tu regarde le programme, $a ne me sert que de valeur tampon
au début (dans le for) ca permet simplement de mettre 10 chp texte pour envoyer
ca permet d'en mettre 22 sans se prendre la tete (par exemple)
et dans la suite du prog, tjs tampon, il me sert simplement a savoir ou j'en suis dans le tableau des fichiers envoyés
donc si tu peux un peu expliquer ton $i<=$a, je pense que je comprendrais un peu plus :-p
Oui mais en attendant il faut avoir le type de l'image : tu met une variable...
En fait, il faut faire mime_content_type($file); et là tu auras "image/jpeg"...
Un autre truc : ronanry, pourquoi tu mets $i <= $a... C'est ridicule : a ne vaut plus le nombre de fichiers que tu veux envoyer... Fait plutot $i <= $a.
if ($theimage_type != "image/jpeg"){etc...}
Non ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.