Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Upload

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Lun Déc 24, 2007 12:25    Sujet du message: 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.

Code:
$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
 
arnaud321 Visiter le site web du posteur
mikaelka
Nouveau WRInaute

Inscrit le: 24 Déc 2007
Messages: 24
Localisation: PACA

URL permanente de ce messagePosté le : Lun Déc 24, 2007 15:14    Sujet du message: Upload

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.


Dernière édition par mikaelka le Lun Déc 24, 2007 17:18; édité 1 fois
 
mikaelka
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Lun Déc 24, 2007 16:16    Sujet du message: Upload

Re,

Peut tu m'expliquer un peut plus, je suis amateur et non pro du php et j'ai quelques lacunes.

Arnaud
 
arnaud321 Visiter le site web du posteur
mikaelka
Nouveau WRInaute

Inscrit le: 24 Déc 2007
Messages: 24
Localisation: PACA

URL permanente de ce messagePosté le : Lun Déc 24, 2007 17:17    Sujet du message: Upload

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...).
 
mikaelka
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Mer Déc 26, 2007 10:53    Sujet du message: Upload

Re,

Peut tu me donner l'exmple concret, je suis perdu.

Arnaud
 
arnaud321 Visiter le site web du posteur
mikaelka
Nouveau WRInaute

Inscrit le: 24 Déc 2007
Messages: 24
Localisation: PACA

URL permanente de ce messagePosté le : Mer Déc 26, 2007 16:16    Sujet du message: Upload

Code:
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.
 
mikaelka
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 16:24    Sujet du message: Upload

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
 
arnaud321 Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2245
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 16:46    Sujet du message: Upload

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 ?
 
UsagiYojimbo Visiter le site web du posteur
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 17:00    Sujet du message: Upload

oui mais il y a un truc qui ne fonctionne pas il me dit toujours

L'extension de votre photo n'est pas un JPG ou JPEG merci de resaisir le formulaire avec la bonne extension.

Comment puis je faire ?

Arnaud
 
arnaud321 Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2245
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 17:13    Sujet du message: Upload

A la place de :

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]
 
UsagiYojimbo Visiter le site web du posteur
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 18:46    Sujet du message: Upload

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
 
arnaud321 Visiter le site web du posteur
UsagiYojimbo
WRInaute accro
WRInaute accro

Inscrit le: 23 Nov 2005
Messages: 2245
Localisation: Lyon, capitale des Gaules

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 18:57    Sujet du message: Upload

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.
 
UsagiYojimbo Visiter le site web du posteur
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 19:02    Sujet du message: Upload

Re
Pour ne pas trop changer la structure je voudrais mettre 1no.gif dans ma base et quand il y a une photo copie_12344.jpg pour éviter les doublons de photos.

Merci
 
arnaud321 Visiter le site web du posteur
arnaud321
Nouveau WRInaute

Inscrit le: 15 Avr 2005
Messages: 47
Localisation: rouen

URL permanente de ce messagePosté le : Jeu Déc 27, 2007 19:04    Sujet du message: Upload

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
 
arnaud321 Visiter le site web du posteur
mikaelka
Nouveau WRInaute

Inscrit le: 24 Déc 2007
Messages: 24
Localisation: PACA

URL permanente de ce messagePosté le : Dim Déc 30, 2007 23:10    Sujet du message: Upload

Je n'est pas très bien saisi ton problème mais bon moi j'écrirai sa :

Code:
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:
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 Wink
 
mikaelka
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

En savoir plus : .

Autres sujets de discussion :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort