Upload
16 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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
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.
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...).
- 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.
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: 5227
- Inscription: Mer Nov 23, 2005 10:38
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: 5227
- Inscription: Mer Nov 23, 2005 10:38
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]
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: 5227
- Inscription: Mer Nov 23, 2005 10:38
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.
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
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Easy-Upload, Upload de fichiers Gratuite...
- upload
- upload l'avatar
- upload impossible
- script upload
- Upload gmail-like
- Upload Mp3
- Upload de fichiers
- Pb Upload photos
- Upload de fichier
- Upload de photo
- code upload image
- Upload : memory_limit et max_input_time
- My-upload.fr - hébergement d'image
- upload photo dimensions !
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 1 invité

le forum