J'aimerais laisse rla possiblité à l'utilisateur, d'envoyer au mawimum trois images.
J'ai pas trouver de script permettant de faire ce que je veux, comme je le veux
voici le script que j'ai pour envoyer une image, jai essayer de l'améliorer pour le faire fonctionner avec trois fichiers mais en vain
function QueryAnnonces()
{
$dossier = 'imgannonces/'.$_SESSION['login'].'/';
if(is_dir($dossier))
{
$target = $dossier; // Repertoire cible
}
else
{
$creat = mkdir($dossier);
$target = $dossier;
}
$extension = 'jpg'||'jpeg'||'gif'||'png'; // Extension du fichier sans le .
$max_size = 200000; // Taille max en octets du fichier
$width_max = 300; // Largeur max de l'image en pixels
$height_max = 300; // Hauteur max de l'image en pixels
// On vérifie si le champ est rempli
if(!empty($_FILES['image']['name']))
{
// On vérifie l'extension du fichier
if(substr($_FILES['image']['name'], -3) == $extension)
{
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['image']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if (($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['image']['size'] <= $max_size))
{
// Si c'est OK, on teste l'upload
if (move_uploaded_file($_FILES['image']['tmp_name'],$target.$_FILES['image']['name']))
{
// Si upload OK alors on affiche le message de réussite
// on définie les variables
$Categorie=$_POST['Categorie'];
$Titre=$_POST['Titre'];
$Marque=$_POST['Marque'];
$Model=$_POST['Model'];
$Type=$_POST['Type'];
$Annee=$_POST['Annee'];
$Description=$_POST['Description'];
$Prix=$_POST['Prix'];
$Login=$_POST['Login'];
$Phone=$_POST['Phone'];
$Mail=$_POST['Mail'];
$Date=$_POST['Date'];
$Etat=$_POST['Etat'];
if (empty($Titre)||empty($Marque)||empty($Model)||empty($Type)||empty($Annee)||empty($Description)||empty($Prix)||empty($Phone))
{
echo 'un ou plusieurs champs sont vides';
}
else
{
$SQL_Categorie = mysql_real_escape_string(htmlspecialchars($Categorie, ENT_QUOTES));
$SQL_Titre = mysql_real_escape_string(htmlspecialchars($Titre, ENT_QUOTES));
$SQL_Marque = mysql_real_escape_string(htmlspecialchars($Marque, ENT_QUOTES));
$SQL_Model = mysql_real_escape_string(htmlspecialchars($Model, ENT_QUOTES));
$SQL_Type = mysql_real_escape_string(htmlspecialchars($Type, ENT_QUOTES));
$SQL_Annee = mysql_real_escape_string(htmlspecialchars($Annee, ENT_QUOTES));
$SQL_Description = mysql_real_escape_string(htmlspecialchars($Description, ENT_QUOTES));
$SQL_Image = mysql_real_escape_string($target.$_FILES['image']['name']);
$SQL_Prix = mysql_real_escape_string(htmlspecialchars($Prix, ENT_QUOTES));
$SQL_Login = mysql_real_escape_string(htmlspecialchars($Login, ENT_QUOTES));
$SQL_Phone = mysql_real_escape_string(htmlspecialchars($Phone, ENT_QUOTES));
$SQL_Mail = mysql_real_escape_string(htmlspecialchars($Mail, ENT_QUOTES));
$SQL_Date = mysql_real_escape_string(htmlspecialchars($Date, ENT_QUOTES));
$SQL_Etat = mysql_real_escape_string(htmlspecialchars($Etat, ENT_QUOTES));
// On insert dans la BdD
mysql_query("INSERT INTO annonces (Id,Categorie,Titre,Marque,Model,Type,Annee,Description,Photo,Prix,Login,Phone,Mail,Date,Etat) VALUES('','$SQL_Categorie','$SQL_Titre','$SQL_Marque','$SQL_Model','$SQL_Type','$SQL_Annee','$SQL_Description','$SQL_Image','$SQL_Prix','$SQL_Login','$SQL_Phone','$SQL_Mail','$SQL_Date','$SQL_Etat')") or exit (mysql_error());
echo 'Ajout réussit, votre annonces seras soumise à validation de l\'administrateur, et ne seras affiché qu\'après cela.<br /><br />
<a href="index.php">Retourner à l\'index</a>';
}
}
else
{
// Sinon on affiche une erreur système
echo '<span class="resupload">Problème lors de l’upload de l\image!</span>
<br /><br />
<span class="resupload">', $_FILES['fichier']['error'], '</span>
<br /><br /><a href="index.php?s=ajout">Re éssayer</a>';
}
}
else
{
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<span class="resupload">Problème dans les dimensions ou la taille de l’image!</span>
<br /><br /><a href="index.php?s=ajout">Re éssayer</a>';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
echo '<span class="resupload">Votre image ne comporte pas une extension valide!</span>
<br /><br /><a href="index.php?s=ajout">Re éssayer</a>';
}
}
else
{
// on définie les variables
$Categorie=$_POST['Categorie'];
$Titre=$_POST['Titre'];
$Marque=$_POST['Marque'];
$Model=$_POST['Model'];
$Type=$_POST['Type'];
$Annee=$_POST['Annee'];
$Description=$_POST['Description'];
$Prix=$_POST['Prix'];
$Login=$_POST['Login'];
$Phone=$_POST['Phone'];
$Mail=$_POST['Mail'];
$Date=$_POST['Date'];
$Etat=$_POST['Etat'];
if (empty($Titre)||empty($Marque)||empty($Model)||empty($Type)||empty($Annee)||empty($Description)||empty($Prix)||empty($Phone))
{
echo 'un ou plusieurs champs sont vides';
}
else
{
$SQL_Categorie = mysql_real_escape_string(htmlspecialchars($Categorie, ENT_QUOTES));
$SQL_Titre = mysql_real_escape_string(htmlspecialchars($Titre, ENT_QUOTES));
$SQL_Marque = mysql_real_escape_string(htmlspecialchars($Marque, ENT_QUOTES));
$SQL_Model = mysql_real_escape_string(htmlspecialchars($Model, ENT_QUOTES));
$SQL_Type = mysql_real_escape_string(htmlspecialchars($Type, ENT_QUOTES));
$SQL_Annee = mysql_real_escape_string(htmlspecialchars($Annee, ENT_QUOTES));
$SQL_Description = mysql_real_escape_string(htmlspecialchars($Description, ENT_QUOTES));
$SQL_Image = "";
$SQL_Prix = mysql_real_escape_string(htmlspecialchars($Prix, ENT_QUOTES));
$SQL_Login = mysql_real_escape_string(htmlspecialchars($Login, ENT_QUOTES));
$SQL_Phone = mysql_real_escape_string(htmlspecialchars($Phone, ENT_QUOTES));
$SQL_Mail = mysql_real_escape_string(htmlspecialchars($Mail, ENT_QUOTES));
$SQL_Date = mysql_real_escape_string(htmlspecialchars($Date, ENT_QUOTES));
$SQL_Etat = mysql_real_escape_string(htmlspecialchars($Etat, ENT_QUOTES));
// On insert dans la BdD
mysql_query("INSERT INTO annonces (Id,Categorie,Titre,Marque,Model,Type,Annee,Description,Photo,Prix,Login,Phone,Mail,Date,Etat) VALUES('','$SQL_Categorie','$SQL_Titre','$SQL_Marque','$SQL_Model','$SQL_Type','$SQL_Annee','$SQL_Description','$SQL_Image','$SQL_Prix','$SQL_Login','$SQL_Phone','$SQL_Mail','$SQL_Date','$SQL_Etat')") or exit (mysql_error());
echo 'Ajout réussit, votre annonce seras soumise à validation de l\'administrateur, et ne seras affiché qu\'après cela.<br /><br />
<a href="index.php">Retourner à l\'index</a>';
}
}
}
Comment pourrais je améliorer ce script pour faire ce que je souhaite?(j'ai pas mis le script amélioré, je l'ai perdu dans mes tentative s'essaie, mais en gros je traiter l'envoie à la fin en dehors de l'upload, et dans l'upload je définissais les variables $Image1, $image2 etc...
De toute manière autant que vous voyais celui la peut être peux t'on l'améliorer.
J vous remercie de votre aide
Bonne journée
@++
Cordialment