Envoyer fichier en GET
powpowland
Messages postés
395
Date d'inscription
Statut
Membre
Dernière intervention
-
powpowland Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
powpowland Messages postés 395 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voulais savoir s'il était possible d'uploader un fichier avec un GET ?
je voulais savoir s'il était possible d'uploader un fichier avec un GET ?
Configuration: Windows Vista Firefox 3.0.10
5 réponses
-
Bonjour,
Euh... Oui, je ne vois pas pourquoi sa serait impossible. Tu n'as jamais vu des adresses d'upload genre "https://www.lesite.com/?action=upload&fichier=DJFG5245&id=325952" ???
Un bon exemple sur media-convert ;)
A+ -
mais alors on fait comment parce que je n'y arrive pas du tout...
-
-
bon vu que je galère vraiment... voici mon code :
<?php define( 'MAIL_FROM',"Obligatoire"); define( 'MAIL_EVENEMENT',"Obligatoire"); define( 'MAIL_DATE',"Obligatoire"); define( 'MAIL_LIEU',"Obligatoire"); define( 'MAIL_DESC',"Obligatoire et faites une description la plus complète possible, avec une adresse, un n° de tel pour les renseignements et un petit texte sympa pour donner envie. C'est ce texte qui sera mis en description de l'évènement."); $mailto = "mail@test.fr"; $mailfrom = MAIL_FROM; $evenement = MAIL_EVENEMENT; $date = MAIL_DATE; $lieu = MAIL_LIEU; $desc = MAIL_DESC; $mailsent = false; $errors = array(); if (isset($_GET["evenement"])) { $mailfrom = $_GET["mailfrom"]; $evenement = $_GET["evenement"]; $date = $_GET["date"]; $lieu = $_GET["lieu"]; $desc = $_GET["desc"]; $affiche = $_GET["affiche"]; if($mailfrom === NULL || $mailfrom === MAIL_FROM){ $errors[] = 'Vous devez renseigner votre adresse email.'; } $atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i'; if (!preg_match($regex, $mailfrom)) { $errors[] = "L'adresse e-mail n'est pas valide"; } if($evenement === NULL || $evenement === MAIL_EVENEMENT){ $errors[]='Vous devez renseigner le nom de l\'évènement'; } if ($date === NULL || $date === MAIL_DATE){ $errors[]='Vous devez renseigner la date'; } if ($lieu === NULL || $lieu === MAIL_LIEU){ $errors[]='Vous devez renseigner le lieu'; } if ($desc === NULL || $desc === MAIL_DESC){ $errors[]='Vous devez renseigner une description'; } //----------------------------------AFFICHE------------------------------ $dossier = '/affiches'; $dossier2 = '/affiches/'; $fichier = $_FILES['affiche']['name']; echo $fichier; $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG','.PNG','.GIF','.JPEG'); $extension = strrchr($affiche, '.'); list($nomphoto, $extensionphoto) = explode(".", $affiche); if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau { $errors[] = 'Extension de l\'affiche refusée'; } if ($affiche != "none") { $affiche = strtr($affiche, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $affiche = preg_replace('/([^.a-z0-9]+)/i', '-', $affiche); If(file_exists("$dossier/$affiche")) { $errors[]='Le fichier que vous voulez transférer existe déjà dans notre répertoire.'; } } if (count($errors) === 0){ echo $affiche; if(move_uploaded_file($affiche, $dossier2 . $affiche)){ $file = $dossier2.$affiche; $source = imagecreatefromjpeg($file); $x = imagesx($source); $y = imagesy($source); $ymax = 355; $ratmax = $y / $ymax; $xmax = $x/$ratmax; $sourcemax = imagecreatefromjpeg($file); $destinationmax = imagecreatetruecolor($xmax, $ymax); $largeur_sourcemax = imagesx($sourcemax); $hauteur_sourcemax = imagesy($sourcemax); $largeur_destinationmax = imagesx($destinationmax); $hauteur_destinationmax = imagesy($destinationmax); imagecopyresampled($destinationmax, $sourcemax, 0, 0, 0, 0, $largeur_destinationmax, $hauteur_destinationmax, $largeur_sourcemax, $hauteur_sourcemax); imagejpeg($destinationmax, $dossier2.$fichier); echo "<img src='".$dossier2.$fichier."' alt='Apercu' />"; } else{ $errors[]='L\'affiche dépasse les 2Mo limités.'; } } //--------------------------------FIN AFFICHE---------------------------- if (count($errors) === 0) {echo " <div id='verif'> Adresse mail : ".$mailfrom."<br> Nom de l'évènement : ".$evenement."<br> Date de l'évènement : ".$date."<br> Lieu de l'évènement : ".$lieu."<br> Description de l'évènement : ".$desc."<br> Affiche de l'évènement : ".$affiche."<br> </div>";} else{foreach ($errors as $error ){echo $error."<br>";}} } echo '<div id="formulaire"> <form id="contact" method="GET"> <table> <tr><td align="right"><label>Adresse email :</label></td> <td><input type="text" name="mailfrom" value="'.$mailfrom.'"></td></tr> <tr><td align="right"><label>Nom de l\'évènement :</label></td> <td><input type="text" name="evenement" value="'.$evenement.'"></td></tr> <tr><td align="right"><label>Date de l\'évènement :</label></td> <td><input type="text" name="date" value="'.$date.'"></td></tr> <tr><td align="right"><label>Lieu de l\'évènement :</label></td> <td><input type="text" name="lieu" value="'.$lieu.'"></td></tr> <tr><td valign="top" align="right"><label>Description de l\'évènement :</label></td> <td><textarea name="desc" cols="50" rows="10">'.$desc.'</textarea></td></tr> <tr><td align="right"><label>Affiche de l\'évènement :</label></td> <td><input type="file" name="affiche"></td></tr> <tr><td><input type="reset" name="reset" value="Effacer"></td> <td><input type="submit" name="submit" value="Proposer l\'évènement"</td></tr> </table> </form> </div>'; ?>
en gros, il bloque quand je met ça "$_FILES['affiche']['name']" , il dit que "affiche" n'existe pas... et donc, il saute ça : "if(move_uploaded_file($affiche, $dossier2 . $affiche))" que j'ai essayé de tourner de toutes les manières possible...
j'en ai fait un en POST pour un autre site, mais pas moyen en GET, mais si ça marche pas je vais me démerder pour le faire en POST, ce qui ne sera pas dur du tout... mais je voulais y arriver en GET... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bon j'ai abandonné le GET et je suis passé au POST...
Mon problème est que il bloque sur "if(move_uploaded_file($_FILES['avatar']['name'],$dossier2.$affiche))"...
voici le code entier si quelqu'un peut m'aider...
code contact.php<?php define( 'MAIL_FROM',"Obligatoire"); define( 'MAIL_EVENEMENT',"Obligatoire"); define( 'MAIL_DATE',"Obligatoire"); define( 'MAIL_LIEU',"Obligatoire"); define( 'MAIL_DESC',"Obligatoire et faites une description la plus complète possible, avec une adresse, un n° de tel pour les renseignements et un petit texte sympa pour donner envie. C'est ce texte qui sera mis en description de l'évènement."); $mailto = "mail@my-contest.fr"; $mailfrom = MAIL_FROM; $evenement = MAIL_EVENEMENT; $date = MAIL_DATE; $lieu = MAIL_LIEU; $desc = MAIL_DESC; echo '<div id="formulaire"> <form id="contact" method="POST" action="upload.php" enctype="multipart/form-data"> <table> <tr><td align="right"><label>Adresse email :</label></td> <td><input type="text" name="mailfrom" value="'.$mailfrom.'"></td></tr> <tr><td align="right"><label>Nom de l\'évènement :</label></td> <td><input type="text" name="evenement" value="'.$evenement.'"></td></tr> <tr><td align="right"><label>Date de l\'évènement :</label></td> <td><input type="text" name="date" value="'.$date.'"></td></tr> <tr><td align="right"><label>Lieu de l\'évènement :</label></td> <td><input type="text" name="lieu" value="'.$lieu.'"></td></tr> <tr><td valign="top" align="right"><label>Description de l\'évènement :</label></td> <td><textarea name="desc" cols="50" rows="10">'.$desc.'</textarea></td></tr> <tr><td valign="top" align="right"><label>Vidéo éditions précédentes (liens Zapiks, Youtube, DailyMotion...) :</label></td> <td><input type="text" name="video" value="Pas de Vidéo"></td></tr> <tr><td align="right"><label>Affiche de l\'évènement :</label></td> <td><input type="file" name="avatar"></td></tr> <tr><td><input type="reset" name="reset" value="Effacer"></td> <td><input type="submit" name="submit" value="Proposer l\'évènement"</td></tr> </table> </form> </div>'; ?>
code upload.php<?php define( 'MAIL_FROM',"Obligatoire"); define( 'MAIL_EVENEMENT',"Obligatoire"); define( 'MAIL_DATE',"Obligatoire"); define( 'MAIL_LIEU',"Obligatoire"); define( 'MAIL_DESC',"Obligatoire et faites une description la plus complète possible, avec une adresse, un n° de tel pour les renseignements et un petit texte sympa pour donner envie. C'est ce texte qui sera mis en description de l'évènement."); $mailto = "mail@my-contest.fr"; $mailfrom = MAIL_FROM; $evenement = MAIL_EVENEMENT; $date = MAIL_DATE; $lieu = MAIL_LIEU; $desc = MAIL_DESC; $mailsent = false; $errors = array(); if (isset($_POST["evenement"])) { $mailfrom = $_POST["mailfrom"]; $evenement = $_POST["evenement"]; $date = $_POST["date"]; $lieu = $_POST["lieu"]; $desc = $_POST["desc"]; $video = $_POST["video"]; $affiche = basename($_FILES['avatar']['name']); if($mailfrom === NULL || $mailfrom === MAIL_FROM){ $errors[] = 'Vous devez renseigner votre adresse email.'; } $atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i'; if (!preg_match($regex, $mailfrom)) { $errors[] = "L'adresse e-mail n'est pas valide"; } if($evenement === NULL || $evenement === MAIL_EVENEMENT){ $errors[]='Vous devez renseigner le nom de l\'évènement'; } if ($date === NULL || $date === MAIL_DATE){ $errors[]='Vous devez renseigner la date'; } if ($lieu === NULL || $lieu === MAIL_LIEU){ $errors[]='Vous devez renseigner le lieu'; } if ($desc === NULL || $desc === MAIL_DESC){ $errors[]='Vous devez renseigner une description'; } //----------------------------------AFFICHE------------------------------ $dossier = 'affiches'; $dossier2 = 'affiches/'; $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG','.PNG','.GIF','.JPEG'); $extension = strrchr($affiche, '.'); list($nomphoto, $extensionphoto) = explode(".", $affiche); if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau { $errors[] = 'Extension de l\'affiche refusée'; } if ($affiche != "none") { $affiche = strtr($affiche, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $affiche = preg_replace('/([^.a-z0-9]+)/i', '-', $affiche); If(file_exists("$dossier/$affiche")) { $errors[]='Le fichier que vous voulez transférer existe déjà dans notre répertoire.'; } } if (count($errors) === 0){ if(move_uploaded_file($_FILES['avatar']['name'],$dossier2.$affiche)){ $file = $dossier2.$affiche; $source = imagecreatefromjpeg($file); $x = imagesx($source); $y = imagesy($source); $ymax = 355; $ratmax = $y / $ymax; $xmax = $x/$ratmax; $sourcemax = imagecreatefromjpeg($file); $destinationmax = imagecreatetruecolor($xmax, $ymax); $largeur_sourcemax = imagesx($sourcemax); $hauteur_sourcemax = imagesy($sourcemax); $largeur_destinationmax = imagesx($destinationmax); $hauteur_destinationmax = imagesy($destinationmax); imagecopyresampled($destinationmax, $sourcemax, 0, 0, 0, 0, $largeur_destinationmax, $hauteur_destinationmax, $largeur_sourcemax, $hauteur_sourcemax); imagejpeg($destinationmax, $dossier2.$fichier); echo "<img src='".$dossier2.$fichier."' alt='Apercu' />"; } else{ $errors[]='L\'affiche dépasse les 2Mo limités.'; } } //--------------------------------FIN AFFICHE---------------------------- if (count($errors) === 0) {echo " <div id='verif'> Adresse mail : ".$mailfrom."<br> Nom de l'évènement : ".$evenement."<br> Date de l'évènement : ".$date."<br> Lieu de l'évènement : ".$lieu."<br> Description de l'évènement : ".$desc."<br> Affiche de l'évènement : ".$affiche."<br> </div>";} else{foreach ($errors as $error ){echo $error."<br>";}} } ?>
et si quelqu'un sait comment faire en GET, je suis preneur aussi... merci