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

PHP & Base de données Discussion :

[SQL] Problème avec file_get_contents


Sujet :

PHP & Base de données

  1. #21
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi pas tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    '$bienprix','".addslashes($img1)."',
    '$vid1',
    sinon $img1 c'est quoi ?

  2. #22
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    $img1 c est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $img1 = file_get_contents ($_FILES['bienimage']['tmp_name']);
    et $bienimage c est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bienimage = $_FILES['bienimage'];
    apparamment ca marche si je fais de ta facon en entourant $img1 de '
    j ai dans mon champ blob un contenu de 5 octets.
    je vais vérifier maintenant si j arrive a l afficher!

  3. #23
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    j ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid'].'\',\'
    popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">
    '.$data['bienimage'].'</a></td>';
    dans le catalogue et j ai a l affichage $img1
    mais j ai pas l image!
    ca pourrait venir de quoi ?
    dans ma requête j ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ,'".addslashes('$img1')."',
    qui me renvoye 5 octets car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ,'".addslashes($img1)."',
    me renvoye rien

  4. #24
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Voilà ce qui est dit pour récupérer l'image :
    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
    {
    $id = intval ($_GET['id']);
    include ("connexion.php");
    $req = "SELECT img_id, img_type, img_blob ".
    "FROM images WHERE img_id = ".$id;
    $ret = mysql_query ($req) or die (mysql_error ());
    $col = mysql_fetch_row ($ret);
    if ( !$col[0] )
    {
    echo "Id d'image inconnu";
    }
    else
    {
    header ("Content-type: ".$col[1]);
    echo $col[2];
    }
    }
    else
    {
    echo "Mauvais id d'image";
    }
    Il faut en gros récupérer le type et etc et faire ce qui est indiqué

  5. #25
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    ok merci je vais d abord faire comme c est fais dans le tuto et après j essaierai de l adapter a mon code.
    merci encore de ta patience

  6. #26
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    excusez moi de revenir encore à la charge mais j'ai fais le tutorial en entier!!
    j ai bien fais attention à tout , ca sauvegarde bien la photo mais à l'apercu je ne vois qu'un bout de photo.
    est ce que ca veut dire que easy php est bridé ?

  7. #27
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    oups en faite c est que mon nom de fichier est sans titre1.jpg
    le fait de laisser un espace fais planter le fichier avec les autre ca marhce!!

  8. #28
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    euh finalement en ayant bien regarder, ya des photos qui s'affichent en entiere, d autres non . j ai pas l impression que c est une question de taille, ni une question de résolution ca depend des photos.
    a quoi cela pourrait etre du ?

  9. #29
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    As tu penser que cela pourrait du à une image temporaire non complète...

    Je t'explique : Quand tu utilises le formulaire avec file ton fichier est enregistré dans dans un répertoire temporaire, et donc il se peut que ce soit de la que vienne le problème.Il faudrait tester le $_FILES['nominpu']['error'] pour voir si c'est à 0...Si c'est différent de 0, il y a diverses erreurs possibles (je les ai pas toute en tête mais google doit les avoir ou fait une recherche dans les FAQ)

  10. #30
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    merci !!
    c est vraiment bizarre, j ai fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_FILES['bienimage']['error'];
    et ca me renvoye 0.
    j'ai testé avec une image qui est coupé et pourtant ca me renvoye 0.
    avec une image trop volumineuse ( qui dépasse ma limite fixée) , il me renvoye 2.

  11. #31
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    en faite j'ai réussi à faire enregistrer mes images blob avec mon formulaire de bien ( ce que je voulais faire a l'origine) comment ? je sais pas , j ai rien changé au code !
    le problème que j'ai c est lors de l'affichage de l'image, il me sort tout le champ blob en chiffre et non l'image, j ai fais pourtant!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "select * from bien where bientype='$choix' LIMIT $Ndeb,$Nmax" or die ("Probleme lors de la lecture de la base de donnees");
    $resultat = mysql_query ($query) or die('Erreur SQL ! '.$query.''.mysql_error());
    et plus loin j ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid'].'\',\
     
    'popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">'.$data['bienimage']
    .'</a></td>';
    qu est ce qui n'irait pas ?
    merciiiiiiiiiiiiiiiiii je suis super content que ca enregistre!

  12. #32
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ce qu'il y a c'est que tu fais pas comme le tuto te le dit. Si tu remarques bien, tu dois envoyer le type de l'image au header...Tu le fais pas ca

  13. #33
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    ok d accord mais je suis pas obligé de lui attribuer un nom , il faut juste qu il sache le champ blob et si c est jpg ,gif...
    en faite ce que je me demandai c est qu elle sont les champs obligatoires que je dois créer pour que l'image s'affiche , la j ai fais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("content-type:jpg");
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid']
    .'\',\'popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">'
    .$data['bienimage'].'</a></td>';
    ca obligera a mettre des jpg mais le pb c est que ca fonctionne pas.

  14. #34
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Si tu regardes le code :
    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
    $id = intval ($_GET['id']);
    include ("connexion.php");
    $req = "SELECT img_id, img_type, img_blob ".
    "FROM images WHERE img_id = ".$id;
    $ret = mysql_query ($req) or die (mysql_error ());
    $col = mysql_fetch_row ($ret);
    if ( !$col[0] )
    {
    echo "Id d'image inconnu";
    }
    else
    {
    header ("Content-type: ".$col[1]);
    echo $col[2];
    }
    }
    else
    {
    echo "Mauvais id d'image";
    }
    C'est fait directement dans le popup.
    $col[1] est le type dans la bdd et le $col[2] est ton champs blob...Mais comme c'est indiqué dans le tuto...Si tu ne fais pas comme c'est indiqué ca va jamais fonctionner

  15. #35
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    je viens enfin de comprendre , je dois obligatoirement créer un champ type et mon champ blob pour chaque photo.
    la je l ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("content-type: ".$data['img_type']);
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid'].'
    \',\'popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">'
    .$data['bienimage'].'</a></td>';
    j ai regardé dans ma base , ca stocke bien la photo dans le champ blob et ca stocke dans img_type image/jpeg
    cependant ca m'affiche tjs pas ma photo , je comprend pas pk , est ce parce que les deux intrusions doivent se suivre ? car la je fais appel a l ouverture d un popup ?

  16. #36
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    alors j ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("content-type: ".$data['img_type']);
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid'].'\',\
    'popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">'
    .$data['bienimage'].'</a></td>';
    et il m'affiche
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\immobilier\montrebienbis.php:4) in c:\program files\easyphp1-8\www\immobilier\montrebienbis.php on line 59
    le header me sert a quoi ?
    je comprend pas trop comment je fais pour relier les deux (contenu binaire et extension du fichier) pour qu'il me l'affiche

  17. #37
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Quand un header (<head></head>) est déjà envoyé ca pose ce problème.
    de plus il faudrait que tu affiches directement dans le popup (là c'est sur que ca va fonctionner).

    Sinon si tu as un contenu dans le head ca va toujours poser un problème vu qu'il est déjà envoyé.

    De plus il est pas trop conseillé de mettre des images dans une bdd, mais c'est chacun son choix

  18. #38
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    mince alors !!
    au début j avais stocké le nom du fichier dans la base mais le pb c est que ca obligeait dans le back office a saisir le nom du fichier dans un champ , c est pas très pratique, et pour supprimer les photos ca me parait bcp plus difficile car il faut supprimer par ftp.
    si tu veux, le back office sera administrer par une personne qui ne connait rien au ftp... donc il faut qu elle puisse quand elle supprime un bien supprimer toute les photos.
    je sais pas si tu comprends!!

  19. #39
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Citation Envoyé par djedje37et28
    alors j ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("content-type: ".$data['img_type']);
    echo '<td><a href="javascript:OuvrirFenetre(\'popupimage.php?bienid='.$data['bienid'].'\',\
    'popup\',\'resizable=yes,scrollbars=yes,width=600,height=500\')">'
    .$data['bienimage'].'</a></td>';
    et il m'affiche
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\immobilier\montrebienbis.php:4) in c:\program files\easyphp1-8\www\immobilier\montrebienbis.php on line 59
    le header me sert a quoi ?
    je comprend pas trop comment je fais pour relier les deux (contenu binaire et extension du fichier) pour qu'il me l'affiche

    D'après ce que je comprend tu mélanges dans la même page le code HTML et le code ton image (cf header content type machin).

    Lorsque tu stockes des images dans la base de données, tu dois utiliser une page php spécial qui ne servira qu'à cela, afficher une image.

    Donc l'idée serait d'avoir une page, apercu.php par exemple, avec le code suivant *grosso modo* :
    Code apercu.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    $sql = "SELECT monimage dans ma table WHERE filename = 'un nom de fichier' ";
    $query = ..
    $data = ...
     
    header("content-type: ".$data['img_type']);
     
    echo $data["donnes du champs blob"];

    Ensuite dans le backoffice lorsque tu souhaites afficher une image tu créés une bete balise img avec un src qui point sur le fichier apercu.php, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="apercu.php?nomdefichier=toto.jpg">
    Pour une popup il suffira d'ouvrir la page apercu dans une nouvelle fenetre.

    Autrement comme le rappelle Kerod il existe d'autre solutions pour stocker des fichiers... Et l'une d'elle est le système de fichier, qui reste tout de même la voie la plus naturel pour cette tache, et qui n'est pas plus compliquer à manipuler.
    C'est peut être même plus simple dès lors que l'on à passé le cap des droits utilisateurs d'unix.


    bbye

  20. #40
    Membre régulier Avatar de djedje37et28
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 224
    Points : 84
    Points
    84
    Par défaut
    donc si j ai bien compris, avec cette méthode quand la personne va consulter le catalogue immobilier , dans la première page qui montre sur une ligne un bien avec sa reference, son prix et sa photo;
    la photo ne pourra pas etre afficher avec cette méthode ?
    je ne pourrai mettre qu un lien vers apercu.php qui affichera la photo sur une page
    c est bien ca ?
    j ai mis une photo de ce que j'avais fais avant avec un répertoire

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [ACCESS][SQL] Problème avec requete SQL ...
    Par mpascolo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/11/2005, 10h54
  2. [SQL]Problème avec ADO - Order by
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/11/2005, 10h55
  3. [T-SQL] problème avec un trigger
    Par karine77 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 26/09/2005, 10h45
  4. Access/SQL : Problème avec Count
    Par Taurëndil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/01/2005, 15h49
  5. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18

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