Upload
16 messages
• Page 1 sur 2 • 1, 2
- arnaud321
- Nouveau WRInaute

- Messages: 47
- Inscription: 15 Avr 2005
Upload
Bonjour,
Je possede un site avec un formulaire d'upload et je voudrais rendre optionnel "upload de l'image mais je ne sais pas comment faire" du style si il y a une image j'upload sinon je passe.
Merci de bien vouloir me répondre.
Arnaud
Je possede un site avec un formulaire d'upload et je voudrais rendre optionnel "upload de l'image mais je ne sais pas comment faire" du style si il y a une image j'upload sinon je passe.
- Code: Tout sélectionner
$destination="./fichiers/";
$pourcent="50";
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'JPG') && !strstr($type_file, 'JPEG'))
{
exit("<img src=\"images/warning.gif \" ><b>L'extension de votre photo n'est pas un JPG ou JPEG merci de resaisir le formulaire avec la bonne extension <a class=\"liens_bleu\" href=\"ajoute-petite-annonce-avec-photo.php\">RETOUR</a></b>");
}
$fichier_name = time()."_".$_FILES["fichier"]["name"];
if (($fichier&& $fichier != "none"))
{
copy($fichier, $destination.$fichier_name);
$nom = $destination.$fichier_name;
$nom_copie = $destination.'copie_'.$fichier_name;
$size = getimagesize($nom);
$largeur = $size[0];
$hauteur = $size[1];
$x = ($pourcent*$largeur)/100;
$y = ($pourcent*$hauteur)/100;
$im_out = imagecreatetruecolor($x, $y);
$im_in = imagecreatefromjpeg($nom);
imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $x, $y, $largeur, $hauteur);
imagejpeg($im_out, $nom_copie);
imagedestroy($im_in);
imagedestroy($im_out);
unlink("$destination/$fichier_name");
}
Merci de bien vouloir me répondre.
Arnaud
-

mikaelka - Nouveau WRInaute

- Messages: 30
- Inscription: 24 Déc 2007
Tu n'a qu'a tester si le champ est vide ou si le fichier n'existe pas. Tu englobe ton traitement sur le fichier dans un
if($_FILES['photo']['size'])
{ tu fais ton traitement }
//else implicite
j'envoie mon form;
Le if permet d'empecher l'envoie de fichier vide et vérifie si un fichier est envoyé.
Voilà en espérant avoir répondu a ta question.
if($_FILES['photo']['size'])
{ tu fais ton traitement }
//else implicite
j'envoie mon form;
Le if permet d'empecher l'envoie de fichier vide et vérifie si un fichier est envoyé.
Voilà en espérant avoir répondu a ta question.
Dernière édition par mikaelka le Lun Déc 24, 2007 16:18, édité 1 fois.
-

mikaelka - Nouveau WRInaute

- Messages: 30
- Inscription: 24 Déc 2007
J'ai pas trop le temps aujourd'hui mais demain je serai libre.
Sinon pour expliquer brièvement. Tu va tester si l'utilisateur envoie un fichier avec le
if($_FILES['photo']['size'])
-> dans le bloc du if tu fera ton traitement sur le fichier (déplacement, copie ou ce que tu veux...)
-> après le bloc du if tu met tous se qui est commun au deux cas ( cas 1: l'utilisateur envoie un fichier, cas 2 : l'utilisateur n'en envoie pas)
Et c'est tout; si un fichier est up il rentrera dans le if et fera les traitement, sinon il fera juste tout se qu'il y a après (cad l'envoie des autres informations ou autres traitement...).
Sinon pour expliquer brièvement. Tu va tester si l'utilisateur envoie un fichier avec le
if($_FILES['photo']['size'])
-> dans le bloc du if tu fera ton traitement sur le fichier (déplacement, copie ou ce que tu veux...)
-> après le bloc du if tu met tous se qui est commun au deux cas ( cas 1: l'utilisateur envoie un fichier, cas 2 : l'utilisateur n'en envoie pas)
Et c'est tout; si un fichier est up il rentrera dans le if et fera les traitement, sinon il fera juste tout se qu'il y a après (cad l'envoie des autres informations ou autres traitement...).
-

mikaelka - Nouveau WRInaute

- Messages: 30
- Inscription: 24 Déc 2007
- Code: Tout sélectionner
if($_FILES['photo']['size'])
{
$destination="./fichiers/";
$pourcent="50";
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'JPG') && !strstr($type_file, 'JPEG'))
{
exit("<img src=\"images/warning.gif \" ><b>L'extension de votre photo n'est pas un JPG ou JPEG merci de resaisir le formulaire avec la bonne extension <a class=\"liens_bleu\" href=\"ajoute-petite-annonce-avec-photo.php\">RETOUR</a></b>");
}
$fichier_name = time()."_".$_FILES["fichier"]["name"];
if (($fichier&& $fichier != "none"))
{
copy($fichier, $destination.$fichier_name);
$nom = $destination.$fichier_name;
$nom_copie = $destination.'copie_'.$fichier_name;
$size = getimagesize($nom);
$largeur = $size[0];
$hauteur = $size[1];
$x = ($pourcent*$largeur)/100;
$y = ($pourcent*$hauteur)/100;
$im_out = imagecreatetruecolor($x, $y);
$im_in = imagecreatefromjpeg($nom);
imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $x, $y, $largeur, $hauteur);
imagejpeg($im_out, $nom_copie);
imagedestroy($im_in);
imagedestroy($im_out);
unlink("$destination/$fichier_name");
}
}//endif
else echo('Vous n'avez pas envoyer d'image');
// on fait les autres traitement sur le formulaire si il y en a (exmple : verification de
// la validité des champs...)
Voilà je pense que sa passe comme sa il suffit de tester, tout dépend de l'implémentation de votre système de formulaire.
- arnaud321
- Nouveau WRInaute

- Messages: 47
- Inscription: 15 Avr 2005
Re,
Je pense que je me suis mal expliqué, je voudrais que l'image soit optionel soit il y en a une ou pas cela ne change rien le reste du formulaire est ecrit dans ma base avec le champ photo "vide ou plein" mais de la facon que mon script est fait il faut obligatoirement une photo (comment faire pour le rendre optionel).
Arnaud
Je pense que je me suis mal expliqué, je voudrais que l'image soit optionel soit il y en a une ou pas cela ne change rien le reste du formulaire est ecrit dans ma base avec le champ photo "vide ou plein" mais de la facon que mon script est fait il faut obligatoirement une photo (comment faire pour le rendre optionel).
Arnaud
-

UsagiYojimbo - WRInaute accro

- Messages: 8295
- Inscription: 23 Nov 2005
Le script qui t'es présenté ici est une base de départ pour rendre optionnel l'upload d'image sur ton formulaire.
Ce n'est pas ça que tu cherches à faire ?
Ce n'est pas ça que tu cherches à faire ?
-

UsagiYojimbo - WRInaute accro

- Messages: 8295
- Inscription: 23 Nov 2005
A la place de :
J'aurais plutôt fait :
[code]if (isset($_FILES['photo']['tmp_name']) && ($_FILES['photo']['tmp_name'] != ''))[/code]
mikaelka a écrit:[code]if($_FILES['photo']['size'])
{
J'aurais plutôt fait :
[code]if (isset($_FILES['photo']['tmp_name']) && ($_FILES['photo']['tmp_name'] != ''))[/code]
- arnaud321
- Nouveau WRInaute

- Messages: 47
- Inscription: 15 Avr 2005
Re,
Merci à vous deux mais il me reste encore une chose qui ne cloche pas? l'upload c'est ok par contre quand il ni y a pas d'image il met dans la base le début de "l'image http://www.monsite.com/fichiers/copie_
Comment résoudre ce probleme.
Arnaud
Merci à vous deux mais il me reste encore une chose qui ne cloche pas? l'upload c'est ok par contre quand il ni y a pas d'image il met dans la base le début de "l'image http://www.monsite.com/fichiers/copie_
Comment résoudre ce probleme.
Arnaud
-

UsagiYojimbo - WRInaute accro

- Messages: 8295
- Inscription: 23 Nov 2005
arnaud321 a écrit:Re,
Merci à vous deux mais il me reste encore une chose qui ne cloche pas? l'upload c'est ok par contre quand il ni y a pas d'image il met dans la base le début de "l'image http://www.monsite.com/fichiers/copie_
Comment résoudre ce probleme.
Arnaud
A quoi ressemble ton ordre SQL pour l'INSERT ? A mon avis y'a une partie qui doit être codée en dur avec le début de l'url du fichier.
- arnaud321
- Nouveau WRInaute

- Messages: 47
- Inscription: 15 Avr 2005
Suite pardon !!!
// ---------- Enregistrement des données dans la base
mysql_query("INSERT INTO annonces VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "','" . $categorie . "', '" . $titre . "', '" . $description . "', '" . $prix . "', '" . $date . "', '" . copie_.$fichier_name . "', '" . $cp . "', '" . $ville . "', '". 1 ."')");
Arnaud
// ---------- Enregistrement des données dans la base
mysql_query("INSERT INTO annonces VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "','" . $categorie . "', '" . $titre . "', '" . $description . "', '" . $prix . "', '" . $date . "', '" . copie_.$fichier_name . "', '" . $cp . "', '" . $ville . "', '". 1 ."')");
Arnaud
-

mikaelka - Nouveau WRInaute

- Messages: 30
- Inscription: 24 Déc 2007
Je n'est pas très bien saisi ton problème mais bon moi j'écrirai sa :
Chez moi sa passe...
à la place de sa
Sinon si tu veux ré-expliquer ton problème
- Code: Tout sélectionner
mysql_query("INSERT INTO annonces VALUES('', '$pseudo ', '$pass', '$mail ','$categorie', '$titre', '$description', '$prix', '$date', 'copie_.$fichier_name', '$cp', '$ville', '1')");
Chez moi sa passe...
à la place de sa
- Code: Tout sélectionner
mysql_query("INSERT INTO annonces VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "','" . $categorie . "', '" . $titre . "', '" . $description . "', '" . $prix . "', '" . $date . "', '" . copie_.$fichier_name . "', '" . $cp . "', '" . $ville . "', '". 1 ."')");
Sinon si tu veux ré-expliquer ton problème
16 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Liste des produits et services de Google - 07-12-2005
- Easter Egg dans Google Chrome (fonctions cachées) - 06-09-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Video Upload
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
