par
spidercrash » 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
//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é.';
}
}
}
}
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
[php]
//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é.';
}
}
}
}
[/php]