A voir également:
- Envoyer fichier en GET
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
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+
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+
bon vu que je galère vraiment... voici mon code :
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...
<?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
code upload.php
et si quelqu'un sait comment faire en GET, je suis preneur aussi... merci
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