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 :

Afficher image distante sur mon site


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Afficher image distante sur mon site
    Bonjour,

    Je dispose de 2 sites:

    - Le premier etant un Cacti qui génère des graphiques des divers équipements reseau que je pole.

    - Le 2e etant un site de statistiques.

    J'aimerais être capable de récupérer une image produite par cacti et l'afficher sur mon 2e site. Le problème est que l'image est générée dynamiquement par cacti. Pour l'afficher dans un navigateur il faut que je tape une adresse du type:

    http://monsitecacti.com/graph_image....e_font_size=10

    Lorsque je clic droit sur cette image, et que je regarde les propriétés, cette image est décrite comme étant un .png.

    étant donné que l'extension n'apparait pas dans l'url de l'image, lorsque je la met dans une balise <img> html, l'image ne s'affiche pas.

    Est-ce que quelqu'un saurait comment faire pour afficher une image distante avec ce type d'url?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'extension de la page n'a pas d'importance.
    Assure toi par contre que ta page déclare bien un header PNG.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Merci Sabotage pour ta réponse.

    Si je mets ceci au début de ma page php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header( "Content-type: image/png" );
    et que je n'affiche que l'image et rien d'autre, ca fonctionne. Mais si je veux l'inclure dans une page avec du texte ca ne fonctionne pas. J'ai l'erreur, l'image ne peut s'afficher car elle contient des erreurs.

    Comment remédier a ce problème?

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Si j'ai bien compris, tu devrais avoir 2 solutions.
    - Soit tu vas sut le site en question et tu fait un click droit "Enregistrer l'image sous" et tu la dépose dans un 1er temps sur ton disque, ensuite tu la dépose dans espace d'hébergement via Ftp.
    Il y a des chances que le fichier ait une extension ".php". Comme tu as remarqué que c'est du png, alors change son extension par ".png".
    Te suffit après de l'intégrer dans une page HTML comme toutes autre image.

    - Soit tu copie l'url complète de cette image (http://monsitecacti.com/graph_image...._graph_id=8037 etc etc ...), ensuite tu l'intègre dans ta page HTML avec une balise IMG avec l'url complète.
    Il faut que les paramètres ce trouvant dans l'url soient valides, et bien sûr qu'il n'y ai pas d'erreurs sur Cacti lors de la création de cette image dynamique.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="http://monsitecacti.com/graph_image.php?action=zoom&local_graph_id=8037 etc etc" />

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    En fait la premiere solution n'est pas envisageable, tout simplement parce que les graphiques changent toute les minutes et que l'url du graphique que je veux afficher change elle aussi:

    http://monsitecacti.com/graph_image....ocal_graph_id=8037&rra_id=1&view_type=&graph_start=1264107991&graph_end=1264194091&graph_height=175&graph_width=750&title_font_size=10

    Les champs en gras changent. graph_start et graph_end sont des timestamps qui me permettent de demander un graph durant une période précise. Et comme le site est visité par pas mal de monde l'option enregistrer sous pour ensuite afficher ne s'applique pas vraiment pour ma situation.

    En fait a partir de cette url, php génère dynamiquement une image png.

    La seconde solution ne fonctionne pas également dû au fait que l'url que je passe à la balise <img> n'est en fait pas une image mais le lien qui génère l'image.

    Pour l'instant ce qui fonctionne c'est que je récupère le contenu retourner par l'url via curl et je l'affiche sur ma page locale (qui est en fait sur mon 2e site web) mais comme je le mentionne dans un précédent post, pour être capable d'afficher l'image, je dois spécifier header( "Content-type: image/png" ); et lorsque je le spécifie le reste de ma page ne s'affiche pas (le html, texte, etc.). J'aimerais être capable d'afficher l'image retourner par Cacti dans le cadre d'une autre page web.

    Est-ce possible?

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Re

    Peut être faudrait il te créer un fichier genre image_dyn_cacti.php (à la racine de ton site pour faire simple) et dans ta page HTML tu y met ton image dynamique, genre <img src="image_dyn_cacti.php" />

    Ensuite, dans ce fichier "image_dyn_cacti.php" tu y mets ta requête Curl.
    Le header() en png ne devrait plus causer de problème.
    Par contre, me demande pas comment le faire en Curl
    De même que c'est une idée, aucune garantie.

    En faite, je ne vois pas trop ce que te retournerait Curl ?
    C'est un flux type stream/binaire ou alors tu obtiens les paramètres qui sont dans l'image ?

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    je dois spécifier header( "Content-type: image/png" ); et lorsque je le spécifie le reste de ma page ne s'affiche pas (le html, texte, etc.)
    Ton fichier PHP qui genere l'image ne doit faire que ça.
    Je ne me souviens pas bien de Cacti mais tu dois bien avoir un fichier qui ne traite que ça.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2009
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Désolé du délai de réponse...week-end passablement occuppé!

    J'ai tester quelques scénario mais rien ne fonctionne jusqu'à present, y compris ls derniere suggestion de RunCodePhp.

    Dès que j'ai 5 minutes, je reviendrai poster le code php avec lequel je teste, ce sera plus facile de voir où est l'erreur j'imagine...

Discussions similaires

  1. Afficher ma webcam sur mon site en cam to cam
    Par Alexcontact dans le forum Flash/Flex
    Réponses: 1
    Dernier message: 23/04/2014, 15h00
  2. Afficher une vidéo sur mon site à partir d'une url ou permalien comme facebook ?
    Par shivato dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/06/2010, 11h08
  3. Réponses: 4
    Dernier message: 01/07/2007, 12h59
  4. Les images ne s'affichent pas et le css n'est pas appliqué sur mon site en ligne
    Par landar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/03/2007, 19h47
  5. rien ne s'affiche sur mon site
    Par troumad dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 17/03/2007, 18h47

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