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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage Image Jpeg


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut Affichage Image Jpeg
    Bonjour à tous,

    Je cherchais un tuto sur internet sur le comment afficher un bouton type 'file'. Puis j'ai finit par trouver mon bonheur un tuto qui me disais carrèment quoi créer dans ma base de donnée et quels scripts entrer. Au début je l'ais refait un peu à ma facon en changeant mes noms d'attributs, etc. Bien évidement ca ne marche pas et je finis par recopié tous son script lettre par lettre. Mais voilà tous marche sauf à la fin c'est pas aussi magique que le tuto sa m'affiche toutes les données crypté.

    Je donne le code apercu.php:

    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
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    <?php
     
    if (isset($_GET['id']))
    {
     
    	$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 image inconnu";
    	}
    	else
    	{
    		header ("Content-type : ".$col[1]);
    		echo $col[2];
    	}
    }
    else
    {
    	echo "Mauvais ID d'image";
    }
     
    ?>
    Ce qui me chagrine c'est le intval j'ai chercher sur php manuel et apparament cela retourne la valeur numérique entière de la variable var, en convertissant la valeur dans la base spécifiée (par défaut en base 10). Et je me demande quelle valeur elle prend sur ce coup. Pour moi intval prends l'id de l'image. Donc en clair si mon image est dans l'id 12 de ma BDD elle convertira ma valeur en base de 12??

    Et le deuxième hic c'est le 'Content type' qui prends les valeurs de la colone 1 de ma BDD c'est a dire la deuxième. La deuxième colone de ma BDD est le nom. Pourtant il me semble qu'il faudrait afficher mon type dans Content type qui est $col[4]. Mais dés que je fais la modification j'ai une erreur.

    Voilà j'appelle à votre aide. J'utilise php 5.3.8 j'ai verifier si j'avais pas un problème de compatibilité sur certaine syntaxe. Si vous désirez un autre bout du code n'hésité pas, je vous remercie d'avance de votre aide. Pour ce qui connaisse peut être c'est le tuto de Cyril Beaussier que je remercie au passage.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    on connait pas ta base donc $col[4] c'est quoi ?
    et c'est pas terrible de mettre des image en BLOB dans la base, tu prends de la mémoire de la ressource et de bande passante inutilement

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Ma BDD :

    nom de la BDD : intraimage

    nom de table : images

    1 : img_id : clé primaire auto-increment int(11)
    2 : img_nom : varchar (50)
    3 : img_taille : varchar (25)
    4 : img_type : varchar (25)
    5 : img_desc : varchar (100)
    6 : img_blob : type blob attribut binary

    Ok merci du conseil pour Blob mais je vais tenter de suivre d'abord le tuto et je changerais plus tard de facon à utilisé un autre type d'image. Je sais qu'on peut utiliser l'URL d'une image ce qui rend bien moins compliqué la chose, mais je voudrais quand même stocké une image.

    Pour repondre à $col[4] je dirais donc à img_desc, je me suis donc tromper je voulais remplacer par $col[3] qui est img_type. Il ne donne pas plus de sucés de le remplacer.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c'est MIME que tu dois mettre donc image/png par exemple

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    else
    	{
    		header ("mime_content_type : image/jpeg");
    		echo $col[2];
    	}
    }
    '???' :$ J'ai essayer comme sa parce que j'ai pas trop compris ce que signifie MIME et ou je dois le mettre. Pareil pour l'extension image/png ou plutot image/jpeg pour moi.
    Si vous pouvez être plus claire svp. Merci pour votre aide.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pourquoi mettre mime_content_type ???

    c'est juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("Content-Type : image/jpeg");

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Je sais pas je sais pas je test juste comme j'ai vu que la fonction je pensais que c'est sa que vous me disiez de faire.

    J'ai integrer le bout de code et c'est toujours pas sa. Je vois just en plus Content-Type : image/jpeg et "ma liste de charabia".

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    J'envoie transfert.php au cas ou ce serait un mauvaise enregistrement sur ma BDD mais j'ai verifier plus de 3 ou 4 fois :



    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php
     
    function transfert ()
     
    {
     
    $ret = false;
    $img_blob = '';
    $img_taille = 0;
    $img_type = '';
    $img_nom = '';
    $taille_max = 2500000;
     
    $ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
     
    	if (!$ret)
    	{
    	echo "Problème de transfert";
    	return false;
    	}
    	else
    	{	
    		//le fichier a bien été recu
     
    		$img_taille = $_FILES['fic']['size'];
    		if ( $img_taille > $taille_max)
    		{
    			echo "Fichier trop gros !";
    			return false;
    		}
    		$img_type = $_FILES['fic']['type'];
    		$img_nom = $_FILES['fic']['name'];
     
    		include ("connexion.php");
     
    		$img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
     
    		$req = "INSERT INTO images (".
    									"img_nom, img_taille, img_type, img_blob ".
    									") VALUES (".
    									"'".$img_nom."', ".
    									"'".$img_taille."', ".
    									"'".$img_type."', ".
    									"'".addslashes ($img_blob)."') ";
     
    								$ret = mysql_query ($req) or die (mysql_error ());
    								return true;
     
    	}
     
    }
    ?>

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ton blob c'est img_blob donc met les bonnes informations

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
    $img_blob prends la valeur du fichier template_name ?
    file_get_contents() retourne le fichier filename dans une chaîne.
    Et la requête sql ajoute des "/" Pour eviter les caractères spéciaux. Je vois pas ou est l'erreur. Je sais pas du tout ce que vous avez en tête.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je parle de ta table, img_blob est bien le champs qui contient le binaire ? et img_type le MIME ?

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Oui c'est censé être comme sa. img_blob pas img_blog même si je pense que c'est une faute de frappe.

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    bon fait un mysql_fetch_assoc et met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header ("mime_content_type : " . $col['img_type']);
    echo $col['img_blob'];
    ce que toi ta fait correspond a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header ("mime_content_type : " . $col['img_nom']);
    echo $col['img_taille'];
    normale que ça ne marchais pas, faut toujours tester tes valeurs avant ...

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    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
    24
    25
    26
    27
    28
    <?php
     
    if (isset($_GET['id']))
    {
     
    	$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 image inconnu";
    	}
    	else
    	{
    		header ("mime_content_type : " . $col['img_type']);
                              echo $col['img_blob']; 	
    }
    else
    {
    	echo "Mauvais ID d'image";
    }
     
    ?>
    mysql_fetch_assoc je le remplace par $col = mysql_fetch_row ($ret); ???

    et je lui met quoi comme attribut? mysql_fetch_assoc ( ? , $col) ?

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    $col = mysql_fetch_row ($ret);
    $col = mysql_fetch_assoc ($ret);

    c'est la base de PHP tout ça ...

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Je sais bien je sais bien je débue en php. Cela dit cela n'a pas changer grand chose. Juste mes caractères sont soulignés maintenant. :/

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    montre ton nouveau code

  18. #18
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    apercu.php :

    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
    24
    25
    26
    27
    28
    <?php
     
    if (isset($_GET['id']))
    {
     
    	$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_assoc ($ret);
     
    	if ( !$col['img_id'] )
    	{
    		echo "ID image inconnu";
    	}
    	else
    	{
    		header ("mime_content_type : " . $col['img_type']);
                             echo $col['img_blob']; 	
    }
    else
    {
    	echo "Mauvais ID d'image";
    }
     
    ?>

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    mime_content_type ...

  20. #20
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 27
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    pourquoi mettre mime_content_type ???

    c'est juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("Content-Type : image/jpeg");
    Je met sa alors?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header ("Content-Type : " . $col['img_type']);
              echo $col['img_blob'];
    ???

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

Discussions similaires

  1. [MFC][ActiveX] Affichage d'une image JPEG
    Par Nico1987 dans le forum C++
    Réponses: 7
    Dernier message: 17/02/2009, 17h02
  2. Affichage image jpeg
    Par Arola78 dans le forum IHM
    Réponses: 0
    Dernier message: 30/05/2008, 12h29
  3. Réponses: 1
    Dernier message: 02/03/2008, 17h16
  4. [QuickReport] Affichage Image JPEG
    Par DragonHeart dans le forum Delphi
    Réponses: 5
    Dernier message: 17/04/2007, 17h47
  5. [SGBD] affichage d'image jpeg depuis une base mysql
    Par eric_300 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/09/2005, 13h27

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