IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Réutilisation d'une image uploadée par formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut [Upload] Réutilisation d'une image uploadée par formulaire
    Bonjour.
    Voilà mon souci:

    j'ai créé un sript d'upload qui fonctionne à merveille, jusque là pas de problème, mais le souci, c'est quand je fait appel à une image ajoutée de cette façon dans mon site, elle n'apparait pas.

    j'ai essayé d'uploader par ce script ,mais en changeant de dossier, rien n'y fait,

    en revanche, quand je télécharge une image uploadée par le script, avec filezilla par exemple, je peut bien la lire sur mon pc, donc il n'y à pas de problème "d'encodage"

    mais quoi alors comme problème!?

    Je vous remercie d'avance,
    en esperant vraiment trouver réponse car j'apperçoit une calvicie naissante dûe à une certaine tendance à l'arrachage capillaire

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    "Madame Irma" s'est absentée ...

    Ce serait plus facile de te répondre si tu nous montrais ton script (celui qui affiche l'image, vu que l'upload se passe bien).
    Sinon, vérifie au moins que tu indiques le bon chemin vers l'image au moment de l'afficher :
    <img src".....?...../tonimage.jpg" ...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Voiçi le formulaire >>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form action="loader.php" enctype="multipart/form-data" method="POST">
    <input name="fichier1" type="file"/> 
    <br/><input name="fichier2" type="file"/> 
    <br/><input name="fichier3" type="file"/>
     <br/><input name="fichier4" type="file"/> <br/>
     <input name="fichier5" type="file"/> <br/>
    </div>
    <div>
    <input type="submit" value="Valider" />
    Qui fait appel à ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
    if ($_FILES["fichier1"] ["size"] > 0)//ça se répète pour tous les "fichier" là il n'y en à qu'un
    {
    mysql_connect ("*****", "****", "***"); // la table noms sert à donner un nom définitif  et unique sous forme de chiffre au fichier 
    mysql_select_db ("******"); 
    mysql_query("INSERT INTO noms VALUES('')");
    $num = mysql_num_rows(mysql_query ("SELECT * FROM noms"));
    mysql_close();
    $frmat1=explode ( '/' ,$_FILES["fichier1"]["type"]);
    move_uploaded_file($_FILES["fichier1"] ["tmp_name"], "/home/www/*****/www/test/newsimg/". $num1  .".". $frmat1[1]);
    $a = "http://******/test/newsimg/" ;
    $b = ".";
    $c=explode ( '/' ,$_FILES["fichier1"]["type"]);
    $fichier1=$a.$num.$b.$c[1];//cette variable contiendra l'adresse du fichier,réutilisée hors de la boucle, à la fin.
    }
     
    mysql_connect ("*****", "*******", "*******");
    mysql_select_db ("lasyrah_1");   
    mysql_query("INSERT INTO `actu` VALUES ('$fichier1','$fichier2' ,'$fichier3','$fichier4','$fichier5','')");
    mysql_close();
     
    ?>
    A l'issue de ce code, l'image est bien ajoutée dans mon dossier newsimg et l'adresse dans la base de données est la bonne.

    voiçi maintenant le bout de script simplissime faisant appel à l'image:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?
    mysql_connect ("*****", "*****", "*****");
    mysql_select_db ("****");   
    $reponse = mysql_query ("SELECT * FROM actu WHERE id=$_GET[id]");
    $donnees = mysql_fetch_array($reponse);
    mysql_close();
    ?>
     <img src="<? echo $donnees['fichier1'];?>" />
    sachant que si au lieu du "echo $donnees['fichier1']; je met directement l'adresse d'une image uploadée avec mon formulaire, ça ne fonctionne pas, le problème semble être vraiment à l'upload.

    voilà, j'espère avoir été assez explicite! merci d'avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tu dois indiquer le chemin vers l'image (sinon, le script n'ira pas la chercher tout seul !)

    <img src="http://******/test/newsimg/<? echo $donnees['fichier1'];?>" />

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    <img src="http://www.monsite.fr/test/newsimg/<? echo $donnees['fichier1'];?>" />

    euh justement, là le chemin y est,les *** était un factice. ensuite le $donnees['fichier1'] est la suite de l'adresse. enfin j'ai déjà essayé de ne pas me servir du tout de ma bdd pour ce script en inscrivant directement l'adresse d'une image uploadée par formulaire, mais ça ne fonctionnait pas, alors que lorsque j'indiquait par n'importe quel moyen une image ajoutée par ftp avec dreamweaver ou filezilla, ça fonctionnait, voilà qui me pousse à penser que celà vient du script d'upload...

    j'ajoute aussi un petit détail de taille, c'est que lorsque j'essaie d'ouvrir ces images directement avec mon explorateur, j'ai droit à une jolie erreur 403... celà veut il dire qu'il faut écrire les codes d'accès dans le script html aussi?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je me doute bien que ******* etait "factice" !
    Mais comme tu dis :
    "...A l'issue de ce code, l'image est bien ajoutée dans mon dossier newsimg..."
    Ca veut dire que l'image est bien enregistrée dans ton dossier (test/newsimg/ ?).
    Si c'est bien le cas, ton problème d'affichage vient de ... l'affichage !
    Donc, du chemin vers l'image ...

    Quel est le résultat de $donnees['fichier1'] ?
    (le nom seul de l'image, ou son chemin-nom ?)
    Il faut mettre (au moins) le "chemin" entre le fichier d'appel (.php) et le dossier contenant l'image ...

    L'image s'affiche-t-elle quand tu mets :
    <img src="http://www.monsite.fr/test/newsimg/monimage.jpg" />
    (remplace "monimage.jpg" par le nom d'une des images existantes, bien sûr !)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    le résultat de $donnees["fichier1"] est le nom du fichier ET un ".extension", puisqu'ils sont tous insérés dans le même dossier, le reste de l'adresse est écrite.
    je pense à un souci d'autorisations ou quelque chose dans le genre...

    puisque celà ne me le fait qu'avec les images uploadées comme ça, quelque soit la façons de les "invoquer" après...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nekashokoi Voir le message
    ... A l'issue de ce code, l'image est bien ajoutée dans mon dossier newsimg et l'adresse dans la base de données est la bonne.
    ...
    sachant que si au lieu du "echo $donnees['fichier1']; je met directement l'adresse d'une image uploadée avec mon formulaire, ça ne fonctionne pas, ...
    DONC : ce N'est PAS l'upload qui est en cause, MAIS bien ta façon d'afficher le fichier-image (chemin ?) ...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    eh bien, justement,non.

    j'explique pourquoi: si j'uploade une image sur mon ftp avec dans le dossier des images uploadées avec mon formulaire, puis que j'entre manuellement son nom dans la base de données pour que le script fasse comme pour n'importe quelle image, eh bien ça fonctionne! dans ce cas, la seul différence avec le cas où ça ne fonctionne pas, c'est la manière d'uploader.

    et quand je regarde dans ma base de données le nom utilisé pour le chemin, des images uploadées, c'est la même que la bonne, donc pas de souci...

    En revanche, comme je l'ai dit, j'ai une jolie erreur 403 si j'essaie d'ouvrir une image uploadée dans le dossier, mais si j'ouvre dans ce même dossier une image uploadée avec dreamweaver, pas de souci...

    c'est donc étonnant...

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/08/2012, 17h19
  2. Réponses: 2
    Dernier message: 13/09/2010, 14h23
  3. [MySQL] MAJ d'une image upload par formulaire
    Par cloridriks dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/12/2008, 16h34
  4. Réponses: 6
    Dernier message: 22/05/2007, 11h01
  5. [Upload] Renommer une image uploadée
    Par Empty_body dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 06h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo