Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 15h38   #1
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Par défaut Problème de chemin d'acces "include"

Bonjour à tous,

Je suis débutant en php et je dois afficher des graphes à partir de ma BDD. Après de brefs recherches, je remarque que la bibliothèque JpGraph est très souvent conseillée.
Mon problème est que je n'arrive pas à afficher un seul graphique. Voila les erreurs qui me sont données:

- Warning: include(jpgraph.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 126
-Warning: include() [function.include]: Failed opening 'jpgraph.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 126
-Warning: include(jpgraph_line.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 127
-Warning: include() [function.include]: Failed opening 'jpgraph_line.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 127
-Fatal error: Class 'Graph' not found in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 133


Infos sur ma config:

-Je suis sur Windows XP SP3.
-J'utilise la dernière version de Wampserver avec Apache: 2.2.17 et Php: 5.3.5.
-J'ai téléchargé la version de jpgraph pour php 5 ici:http://jpgraph.net/download/
-J'ai mis le dossier "src" de jpgraph à la base de mon arborescence web, c'est à dire ici: C:\wamp\www\src
-La bibliothèque GD est bien activée.
-mon graphique est appelé sur la page suivi_mur_trombe.php qui se trouve dans le répertoire C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe
- Je n'ai aucun répertoire php se situant à: C:\php\pear

Voici le code utilisé sur ma page web, un code tout à fait classique:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
     include ("jpgraph.php");
     include ("jpgraph_line.php");
 
     // Application des valeurs dans un tableau
     $ydata = array(6,5,25,12,5,10,32,13,5,21);
 
     // Création de l'objet Graph.
     $graph = new Graph(300,200);    
     $graph->SetScale("textlin");
 
     // Création du tracé 
     $lineplot=new LinePlot($ydata);
 
     // Ajout du tracé au graph
     $graph->Add($lineplot); 
 
     // Affichage du graphique
     $graph->Stroke();
?>
Après mes nombreuses recherches pour trouver le problème, il semble que ce soit au niveau des chemins d'accès au include mais je ne comprends pas vraiment.

Voilà la partie du code du fichier php.ini utilisé par wamp:

; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
;
; PHP's default setting for include_path is ".;/path/to/php/pear"

Je dois surement changer le chemin de quelque chose, mais lequel et vers ou?

Je vous remercie d'avance pour votre aide.

Cordialement.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h11   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

d'abord certain te dirons ceci cela permet d'être plus clair ^^.

Sinon je n'ai fait que regarder vite fait mais si tu as un problème d'accès fichier, regarde où est situé ton fichier que tu include par rapport au fichier qui fait appel à cette include je m'explique.

Voici le fichier que j'exécute.

Code :
www/monprojet/index.php
et dans mon index.php je veux faire un include de ce fichier:

Code :
www/monprojet/fonction/mesfontions.php
donc l'include doit être ceci dans mon index.php

Code :
include ('fonction/mesfontions.php');
si jamais font fichier que je veux inclure est dans un dossier au dessus de celui que j'exécute comme par exemple:

Code :
www/monprojet/autredossier/index.php
dans ce cas je dois faire ceci pour accéder à mesfonction.php

Code :
include ('../fonction/mesfontions.php');
en espérant que ton problème vienne de là
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h33   #3
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Merci de ta réponse rapide. Je tiens à m'excuser je suis tout nouveau dans ce genre de forum, même dans tout genre de forum !

J'ai déja pensé à ta solution et j'ai carément indiqué le chemin absolu:

Code :
1
2
3
 
     include ("c:\wamp\www\src\jpgraph.php");
     include ("c:\wamp\www\src\jpgraph_line.php");
Les fichiers jpgraph.php et pgraph_line.php sont bien présents et lorsque j'actualise ma page pour visualiser les changement effectués dans mon code php, tout mon code html s'affiche et un charabia se place entre mes balises php.

Est ce que j'ai été assez clair ?
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h44   #4
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Pas de problème .

Pour ton problème test ceci:

Code :
include ("c:\\wamp\\www\\src\\jpgraph.php");
car le fait de mettre qu'un simple \ veux dire que le caractère suivant ne doit pas être prise en compte par les doubles quotes.
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 17h17   #5
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
J'ai toujours le même problème: mon script html est affiché et il y a du charabia à la place de mon code php.

Voila un aperçu:

‰PNG


IHDR,ÈݽKàIDATxœíÝ}PSg¾ð_ @o"ï`±TWtUªµÝjZu×J{©ÖénïÔë”:½º÷bë½n‘ÙKk]¦2n§Û2½zµ*v°u0´¾4ÅvWP\±\)‚Ê[ /AIHBÎýã¸)E@ÈsNžs’ßç2Ãs“óÍóržs Ã0€¢Ç‹vòtB„(Ã"D†!Ê0„Q†!Dˆ2 !B”a¢ CˆeB„(Ã"D†!Ê0„Q†!Dˆ2 !B”a¢ CˆeB...


A première vu il semble qu'il y ait bien génération du graphique avec "‰PNG" mais qu'il reste des erreurs ce qu'il fait que rien ne peut s'afficher correctement.

Dans plusieurs autres forums, on parle de changer quelque chose au fichier php.ini au niveau du "include_path" mais rien n'a fonctionné pour moi, peut-être ai-je mal fait quelque chose.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 17h28   #6
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bon sinon test ceci:

Code :
require_once 'jpgraph.php';
Si ca marche toujours je ne suis pas sur que le problème viens de ton include mais plutot de ce que contient la page jpgraph.php...
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 17h44   #7
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Voilà ce que j'ai rentré comme code:

Code :
1
2
3
 
        require_once 'c:\wamp\www\src\jpgraph.php';
	require_once 'c:\wamp\www\src\jpgraph_line.php';

Cela me donne toujours ce problème d'affichage de code html et de charabia au niveau de mon code php.

D'ou le problème pourrait venir ?
Que devrais-je faire au vu de ce problème ?

PS: Encore merci de passer du temps avec mon soucis
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 08h11   #8
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

avant tout il faut que tu fasses ceci:

Code :
1
2
 require_once 'c:\\wamp\\www\\src\\jpgraph.php';
	require_once 'c:\\wamp\\www\\src\\jpgraph_line.php';
si ca marche toujours pas fait comme test ceci, tu crées un page quelconque (par exemple test.php) et tu mets juste un echo dedans (par exemple echo "include ok").

Et maintenant essaye de faire un include de cette page. Pour voir si le problème vient réellement du include ou si c'est plus un problème de page (je pense fortement que c'est un problème sur ta page).
N'essayes pas de faire un include des autres pages lors de ton test.
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h31   #9
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Ta première solution ne fonctionne pas, j'ai toujours l'affichage de mon code html.

Par contre j'ai fait comme tu m'as dis:
- J'ai créé un fichier "test.php" avec juste dedans:-dans mon fichier "suivi_mur_trombe.php", là où est appelée la fonction include, le seul code php que je mets est le suivant:
Code :
1
2
3
4
5
<?php
 
	include "test.php";
 
?>
Résultat: Il n'y a aucun message d'erreur et sur ma page est affichée:
"echo "include ok";"

Donc, cela montre que ma fonction include fonctionne correctement et que le problème vient d’ailleurs.
A mon avis, c'est un problème de chemin dans le fichier php.ini, ou encore un problème de bibliothèque pear... Mais encore une fois, je ne sais pas !

Dans tous les cas, merci de m'aider à régler ce problème.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h42   #10
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
C'est surtout que ca montre que le problème vient de jpgraph.php ou jpgraph_line.php.

Se sont des pages que tu as fait ou récupéré?
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h02   #11
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Ces pages sont données dans le package de jpGraph. Je n'ai rien modifié dessus.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h13   #12
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bon j'ai fait quelque recherche voici ce que je peux te proposer:

regarde si tu possèdes bien un de ces 3 fichiers php_gd.dll, php_gdgif.dll ou php_gd2.dll. Sinon télécharge un des 3 (plutot php_gd2.dll).

Après il faut que PHP>=5.1, est ce le cas? (pour le voir phpinfo() )

Ensuite assure toi que tu as bien copiez simplement le contenu de src dans un dossier jpgraph à la racine de ton espace web.

et si tout ca est bon test le fichier que j'ai joint.

et si ca marche pas...
Fichiers attachés
Type de fichier : php jpgraph_histo.php (663 octets, 5 affichages)
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h37   #13
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Je travaille avec la dernière version de wamp soit avec php version 5.3.5

Dans le fichier php.ini que je peux directement afficher en cliquant sur le lien que donne wamp j'ai bien ça:
Code :
1
2
3
4
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
A la base de mon arborescence web, soit dans le dossier "www" de wamp j'ai créé un dossier nommé jpgraph avec le contenu "src" du dossier jpgraph téléchargé.

J'ai mis ton example dans mon dossier "jpgraph" que je venais de créer, comme ça, plus de problème de chemin, tous les fichiers nécessaires sont au même endroit.

Et pourtant....

Voila les 2 beaux messages d'erreur lorsque j'essaye d'afficher ton exemple:

- Warning: require_once(include_path_inc.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\jpgraph\jpgraph_histo.php on line 2

- Fatal error: require_once() [function.require]: Failed opening required 'include_path_inc.php' (include_path='.;C:\php\pear') in C:\wamp\www\jpgraph\jpgraph_histo.php on line 2

Donc il ne trouve pas le fichier include_path_inc.php... Et il est bel et bien abscent...
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h39   #14
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
En fait je viens de remplacer dans ton code:
Code :
require_once("include_path_inc.php");
Par:
Code :
require_once("jpg-config.inc.php");
Qui est un fichier présent dans le dossier et j'ai un graphique !!!

Je vais maintenant essayer de faire la même manip dans ma page web et voire si ça fonctionne.

Merci encore merci de ton aide, je préviens dès que j'ai du nouveau !
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h55   #15
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
Bon... J'ai toujours un problème mais cette fois je peux dire plus précisément d'où il vient.

J'ai utilisé la bonne vieille méthode pour savoir où est ce que ça bug, c'est à dire, tout commenter et décommenter ligne par ligne.

Il n'y a aucune erreur qui s'affiche dans mon code php:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	require_once('jpgraph\jpg-config.inc.php');
	include_once ('jpgraph\jpgraph.php');
	include_once ('jpgraph\jpgraph_line.php');
 
	// Il faut mettre des valeurs dans un tableau.
// Vous pouvez les recuperer d'une base de données ou autres...
$ydata = array(6,5,25,12,5,10,32,13,5,21);
 
// On créé l'objet Graph. Ces deux appels sont toujours necessaires.
$graph = new Graph(300,200);   
$graph->SetScale("textlin");
 
// On créé un tracé
$lineplot=new LinePlot($ydata);
 
// On ajoutte ce tracé au graph
$graph->Add($lineplot);
Et c'est vraiment juste à la dernière ligne, dès que je la décommente, ma page web m'affiche tout mon code html et le charabia dans ma balise php.
C'est cette ligne:
Code :
1
2
3
// On affiche le graphique
//$graph->Stroke();
?>
Pour info, quand je veux visualiser les exemples du dossier jpgraph par l'intermédiaire de wamp, en faisant:
-localhost
-Vos projets
- jpgraph
-Examples
Je n'ai que des croix rouge...

Je ne sais pas si ce message pourra t'aider.
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 14h03   #16
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juillet 2011
Messages : 30
Points : 15
Points : 15
J'ai trouvé la solution à mon problème sur un autre forum.

Donc en résumé, il faut changer :
Par:
Code :
1
2
$graph->Stroke("graph.png"); 
echo "<img src='graph.png' />";
Je ne sais pas vraiment pourquoi ça buggait mais ça fonctionne !

Problème résolu !

Merci encore pour ton aide et ta patience !
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web