> Tous les forumsForum des Webmasters

 upload en php ==> resolu
Statut du sujet : NON RESOLU Imprimer
 herve.lagarde
  Posté le 04/09/2006 @ 09:19  
 Petit astucien

450 Messages
Bonjour a tous les astucien(ne)s, Je fais une page pour uoloader un fichier. Il semble que mon code (comme on m'a indiqué) marche pas. Ou alors j'ai raté un truc [code]<form method ="post" action="upload.php" enctype="multipart/form-data"> Choisir une photo : <input type="file" name="img"><br> <input type="submit" name="envoyer" value="Envoyer"> </form> <?php echo $_POST['envoyer'].' est fait<br>'; echo 'taille : '.$_FILES['img']['size'].'<br>'; //ca, on sait que ca marche, koike if(isset($_FILES['img']['name'])) echo '$_post[\\\'envoyer\\\'] marche<br>'; { if(is_uploaded_file($fluxtemp['img']['name'])) { echo 'fichier uploadé<br>'; //théoriquement, le fichier devrait avoir été uploadé ici //tu peux, si tu le souhaites, créer une politique de vérification basée sur $taille = $_FILES['img']['size']; $type = $_FILES['img']['type'] ; $erreur = $_FILES['img']['error']; echo 'taille : '.$taille.', type : '.$type.', erreur : '.$erreur.'<br>'; //pour écarter certains fichiers selon tes propres choix //Il faudra de toutes manières terminer par une commande du genre de if($ok) { $nom = "/Temp/".$_FILE['img']['name']; // chemin du fichier $resultat = move_uploaded_file($_FILE['img']['tmp_name'],$nom); //move_uploaded_file('dossier/nom.ext','dossier/destination/nom.ext'); } } } [/code] tout marche jusqu'a echo '$_post[\\\'envoyer\\\'] marche<br>'; "echo 'fichier uploadé<br>';" lui ne s'execute pas
 Afficher le profil de herve.lagarde Envoyer un message privé à herve.lagarde
 
 
Publicité
 herve.lagarde  Posté le 04/09/2006 à 13:12  
Petit astucien

450 Messages
Personne peut m'aider ?
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 olivier7500  Posté le 05/09/2006 à 04:11  
Petit astucien

504 Messages
Salut, utilise ce code pour l'upload en php: <form action="upload.php" enctype="multipart/form-data" method="post" name="LeForm" id="LeForm"> <p><strong> Ajouter des photos</strong></p> <!-- Ce champ masqué permet de spécifier la taille maximale des fichiers que l'on autorise à envoyer --> <input type="hidden" name="MAX_FILE_SIZE" value="9000000"> <div id="LesChamps"> <input NAME="Champ1" TYPE="file" id="Champ1" size="60"> </div> <p> <input type="submit" name="Submit" value="Envoyer"> </p> </form> <? $RepDistant="photos/"; // Dossier ou seront envoyées les images... peut être modifié. if(isset($_FILES["Champ1"])){ // Ajout d'une photo // On compte le nombre de photos déjà contenues dans le dossier $i=1; while(file_exists($RepDistant.$i.".jpg")) $i++; // La variable $i sors de cette boucle dès que sa valeur ne correspond pas au nom d"une photo existente. // Nous pourrons donc attribuer ce numéro à la prochaine photo envoyée. // On copie ensuite chacune des photos que l'on a envoyé sur le Répertoire temporaire du serveur // dans norte fichier de photos // On les renomme par la même occasion à l'aide de notre variable pour éviter les doublons $j=1; while((isset($_FILES["Champ".$j]))&&($_FILES["Champ".$j]!="")){ move_uploaded_file($_FILES["Champ".$j]['tmp_name'],$RepDistant.$i.".jpg"); $i++; $j++; } } ?> Esperant t'aider... A bientôt Olivier
Afficher le profil de olivier7500 Voir la configuration de olivier7500Envoyer un message privé à olivier7500
  Revenir en haut de la page
 herve.lagarde  Posté le 05/09/2006 à 08:44  
Petit astucien

450 Messages
J'ai mis comme tu m'as dit : [code]$rep_distant = "Upload/" // dossier de stockage if(isset($_FILES['img'])) { //on comptes le nombre de photos deja contenues dans le dossier $i = 1; while(file_exists($ rep_distant.$i.".jpg")) $i++; // on copie la photo envoyée sur le repertoire temp du serveur vers dossier // on renomme le fichier $j = 1; while (isset($_FILES["img".$j])&&$FILES["img".$j]!="")) { move_uploaded_file($_FILES["img".$j]['tmp_name'],$rep_distant.$i.".jpg"); $i++; $j++; } } et j'ai un erreur : Parse error: syntax error, unexpected T_IF in Puis en relisant ce que u me donnes, tu as mis 2 fois $i++ dans la boucle. Correct ?
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 herve.lagarde  Posté le 05/09/2006 à 08:51  
Petit astucien

450 Messages
la ligne indiquée pour l'erreur c'est "if(isset($_FILES['img'])) "
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 herve.lagarde  Posté le 09/09/2006 à 14:06  
Petit astucien

450 Messages
je reprends mon sujet, quelqu'un peut m'aider ?
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 ti_ouf  Posté le 10/09/2006 à 09:02  
Astucien


4767 Messages
déjà je pense que pour cette ligne se serait plutot comme çà : [code]if(isset($_FILES['img']['name'])) echo '$_post[\\\'envoyer\\\'] marche<br>'; {[/code] deviendrait : [code]if(isset($_FILES['img']['name'])) { echo '$_post[\\\'envoyer\\\'] marche<br>';[/code] c'est à dire dans ta { de ta condition. Ensuite, il faudrait mettre un champs dans ton formulaire contenant la taille maximale que tu acceptes pour l'upload! ainsi <input type="hidden" name="MAX_FILE_SIZE" value="12345" /> a placer avant ton champs d'upload. Ensuite pour chaque upload, le fichier envoyé sur le serveur est stocké dans une variable Superglobale $_FILES. il suffit donc premierement de vérifier si il y a eu une erreur lors de l'upload, c'est à dire si il y a bien eu un upload if ($_FILES['upload']['error'] > 0) : $commentaire = "aucun uplod effectué"; ensuite tu conditionnes, si l'upload est efectué, la taille de ton upload, si c'est bien conforme avec ce que tu as définis auparavant . etc ... ton code est un tout petit peu baclé , excuse moi du fait [clindoeil] mais si tu veux bien le reprendre, je te guiderais
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 herve.lagarde  Posté le 10/09/2006 à 09:22  
Petit astucien

450 Messages
Apparemment j'avais travaillé et j'en suis plaus la Voici mon code : [code]$rep_distant = "Upload/" // dossier de stockage if(isset($_FILES['img1']['name'])) { //on comptes le nombre de photos deja contenues dans le dossier $i = 1; while(file_exists($ rep_distant.$i.".jpg")) $i++; // on copie la photo envoyée sur le repertoire temp du serveur vers dossier // on renomme le fichier $j = 1; while (isset($_FILES["img".$j])&&$FILES["img".$j]!="")) { move_uploaded_file($_FILES["img".$j]['tmp_name'],$rep_distant.$i.".jpg"); $i++; $j++; } } [/code] Tu la page ici pour test [url]http://h.lagarde.free.fr/Upload/upload.php[/url] J'ai "Parse error: syntax error, unexpected T_IF in /mnt/135/sdb/a/1/h.lagarde/Upload/upload.php on line 27"
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 ti_ouf  Posté le 10/09/2006 à 09:50  
Astucien


4767 Messages
et a quoi correspond la ligne 27, s'il te plait ?
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 herve.lagarde  Posté le 10/09/2006 à 10:04  
Petit astucien

450 Messages
scuse : if(isset($_FILES['img1']['name']))
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 ti_ouf  Posté le 10/09/2006 à 19:25  
Astucien


4767 Messages
le mieux est d'avoir le code complet, ton formulaire + ton code php de traitement d'upload.
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 herve.lagarde  Posté le 10/09/2006 à 23:44  
Petit astucien

450 Messages
j'ai changé la facon d'aborder le traitement du fichier telechargé, a tort ? [code]<!-- formulaire d'envoi--> <p> </p> <form method ="post" action="upload.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1048576" /><!--1Mo--> Choisir une photo : <input type="file" name="img1"><br> <!--<input type="hidden" name="max_size" value="1000000">--> <input type="submit" name="envoyer" value="Envoyer"> </form> <?php include "../connect.php"; //******************************* //****** reception fichier ****** //******************************* if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du tranfsert"; if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros"; if ($erreur != '') { echo $erreur; } echo $_FILES['img1']['tmp_name']; //$nom = 'toto'; $nom = 'Upload/.'$nom; echo '$nom : '.$nom; ; $resultat = move_uploaded_file($_FILES['img1']['temp_name'],$nom); if($resultat) echo "Transfert réussi"; echo '<br>'.$nom; echo '<br>'.$_FILES['img1']['type']; $rep_distant = "Upload/"; // dossier de stockage [/code]
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
 olivier7500  Posté le 11/09/2006 à 00:48  
Petit astucien

504 Messages
Bonsoir Hervé, peux-tu m'envoyer l'intégralité de ta page upload.php, je la teste, corrige et te la renvois: olivier75012@wanadoo.fr Envois le fichier en pièce jointe et non un copié/collé.(précise ton pseudo stp) A+++ Oliv
Afficher le profil de olivier7500 Voir la configuration de olivier7500Envoyer un message privé à olivier7500
  Revenir en haut de la page
 ti_ouf  Posté le 11/09/2006 à 21:38  
Astucien


4767 Messages
plus de problème ?
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 herve.lagarde  Posté le 11/09/2006 à 21:55  
Petit astucien

450 Messages
Non Olivier (messages precedents) m'a refait le fichier et en fait, il semblerait que le probleme venait qu'il me fallait refaire un dossier UPLOAD DANS LE DOSSIER Upload. Mais merci a toi de t'inquiéter. Tu peux tester a cette adresse [url]http://h.lagarde.free.fr/Upload/upload.php[/url]
Afficher le profil de herve.lagarde Voir la configuration de herve.lagardeEnvoyer un message privé à herve.lagarde
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page