script upload image, image par défaut
Posté : 02 mai 2010, 18:00
bonjour a tous,
J'ai script d'upload d'image qui est traité suite a un formulaire.
cepedant je souhaiterai que si la personne renseigne pas d'image, une image par défaut sera prédéfini.
Pouvez vous m'aider svp.merci d'avance.
Voici mon script
J'ai script d'upload d'image qui est traité suite a un formulaire.
cepedant je souhaiterai que si la personne renseigne pas d'image, une image par défaut sera prédéfini.
Pouvez vous m'aider svp.merci d'avance.
Voici mon script
//dossier ou seront stocket les miniature et les images
$dir = getcwd()."/pics";
$dir_mini = getcwd()."/mini";
//recuperation du post du formulaire
if (isset($_POST['ok'])) {
// on teste si le champ permettant de soumettre un fichier est vide ou non
if (empty($_FILES['mon_image']['tmp_name'])) {
$erreur = 'Aucun fichier envoyé.';
}
else {
// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier
$tableau = @getimagesize($_FILES['mon_image']['tmp_name']);
if ($tableau == FALSE) {
// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre fichier n\'est pas une image.';
}
else {
if ($tableau[2] == 2) {
if (is_file('.pics/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['mon_image']['name'];
else $file_upload = $_FILES['mon_image']['name'];
// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload);
if ($tableau[2] == 2) {
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dir.'/'.$file_upload);
$NouvelleLargeur = 120; //Largeur choisie à 350px mais modifiable
$NouvelleHauteur = 100;
$NouvelleLargeurpaysage = 120;
$NouvelleHauteurpaysage = 100;
// on teste si notre image est de type paysage ou portrait
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($im , $src , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $tableau[0],$tableau[1]);
}
else {
$im = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($im , $src , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $tableau[0],$tableau[1]);
}
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg ($im, $dir_mini.'/'.$file_upload);
}
include ('connect.php');
$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,date,departement,region,NUMUTILISATEURS) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','".date("Y-m-d H:i:s")."','$departement','$region','$NUMUTILISATEURS')";
$req = mysql_query($sql2)or die(mysql_error());
$nom = "/{$_FILES['mon_image']['name']}";
$image = $dir.$nom;
$miniature = $dir_mini.$nom;
$numannonce=mysql_insert_id();
$sql3 = "INSERT INTO images (image,miniature,numannonce) VALUES ('$image','$miniature','$numannonce')";
$req = mysql_query($sql3)or die(mysql_error());
header('Location: ../mesannonces.php');
}
else {
// si notre image n'est pas de type jpeg
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre image est d\'un format non supporté.';
}
}
}
}