include PHP: garder le chemin du module intégré

include PHP: garder le chemin du module intégré - PHP - Programmation

Marsh Posté le 21-02-2008 à 18:58:41    

Bonjour à tous, je sollicite votre aide :)
 
J'ai un problème de chemin quand j'intègre un module à ma page principale.
J'ai: index.php?page=dossier_chat/chat.php
 
chat.php est une page qui fait appel à une applet java de chat dans le même dossier. Mon problème est que quand j'essaie d'intégrer le chat à mon site via un include dans le index, l'applet tente donc de chercher ses fichiers (librairies, images...) a partir de l'endroit où se trouve index.php. Ce qui est problématique, vu que l'applet cherche ses fichiers a partir du dossier "dossier_chat".
 
Mon probleme vient donc de l'instruction php include.
 
Je ne vois alors aucun autre moyen que de mettre tout le contenu de dossier_chat à la racine (là où il y a index.php). C'est embetant vu le nombre de fichiers de l'applet, ca met un peu le bordel. Pas top ça pour la maintenance, la lisibilité de l'arborescence etc.
 
 
Voyez-vous un autre moyen d'intégrer le chat à mon site sans cette manip ?
Merci beaucoup pour votre aide, et pour m'avoir lu jusqu'au bout  :jap:


Message édité par welcominh le 21-02-2008 à 18:59:12

---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Marsh Posté le 21-02-2008 à 18:58:41   

Reply

Marsh Posté le 21-02-2008 à 21:03:07    

Y'a surement un moyen de donner le répertoire d'éxécution à l'applet.
 
Sinon définir le répertoire en cours avec php, peut être que ça résoudra ton problème :??:

Reply

Marsh Posté le 21-02-2008 à 21:54:06    

Citation :

Y'a surement un moyen de donner le répertoire d'éxécution à l'applet


Le probleme c'est que l'applet ce n'est pas moi qui l'ai faite. C'est un service d'un autre site.
 

Citation :

définir le répertoire en cours avec php


Ah? comment on fait ca? je vais chercher ca mais ca me dit rien cette méthode  :??:


---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Marsh Posté le 22-02-2008 à 00:53:22    

dirname(__FILE__) ?

 

Ca te donne le chemin du dossier du fichier que tu es en train d'inclure.

 

(suis-je clair ? :o)


Message édité par theredled le 22-02-2008 à 00:55:19

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 22-02-2008 à 05:16:53    

chdir() pour changer de répertoire courant ;)

Reply

Marsh Posté le 22-02-2008 à 10:12:55    

leflos5 a écrit :

chdir() pour changer de répertoire courant ;)


Enfin à moins d'écrire à la mano le chemin complet de la racine sur le serveur (crade), comment tu files le bon chemin à chdir() ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 22-02-2008 à 13:54:10    

j'ai réussi a définir le répertoire courant avec chdir. (J'ai fait ca en relatif)
Mais apparemment ca ne marche que pour les fichiers de script  :??:
 
Pour illustrer j'ai fait un test. J'ai un fichier test.php qui est dans quelques sous-dossiers. Un petit chdir('../../') me ramène bien à la racine, là ou se trouve un fichier php qui fait un echo bidon, et une image bidon.
 
include('echo_bidon.php');  => fonctionne
echo'<img src="image_bidon.jpg" />'; => ne fonctionne pas.
 
J'en conclue que ca ne marche que pour les script php. En gros, l'applet de chat n'en aura que faire de ce chdir et tentera de chercher ses fichiers à sa "racine à elle" comme d'habitude.
J'ai testé => en effet ca ne marche pas, même en redéfinissant le répertoire courant par la "racine de l'applet".
 
En attendant, je cherche toujours... :pt1cable:


---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Marsh Posté le 22-02-2008 à 14:06:39    

welcominh a écrit :

j'ai réussi a définir le répertoire courant avec chdir. (J'ai fait ca en relatif)
Mais apparemment ca ne marche que pour les fichiers de script  :??:

 

Pour illustrer j'ai fait un test. J'ai un fichier test.php qui est dans quelques sous-dossiers. Un petit chdir('../../') me ramène bien à la racine, là ou se trouve un fichier php qui fait un echo bidon, et une image bidon.

 

include('echo_bidon.php');  => fonctionne
echo'<img src="image_bidon.jpg" />'; => ne fonctionne pas.

 

J'en conclue que ca ne marche que pour les script php. En gros, l'applet de chat n'en aura que faire de ce chdir et tentera de chercher ses fichiers à sa "racine à elle" comme d'habitude.
J'ai testé => en effet ca ne marche pas, même en redéfinissant le répertoire courant par la "racine de l'applet".

 

En attendant, je cherche toujours... :pt1cable:


Les deux n'ont rien à voir, le "include('echo_bidon.php');" c'est côté serveur, le "echo'<img src="image_bidon.jpg" />';" côté client.

 

Le chdir c'est côté serveur, côté client il faut changer les chemins dans l'applet/page (relatif ../image ou absolu www.supersite.com/image_bidon) [:airforceone]

 

A moins que tu aie déja compris ça (dans ce cas où est le pb) ?


Message édité par theredled le 22-02-2008 à 14:10:01

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 22-02-2008 à 14:43:18    

Ah oui j'avais pas pensé au fait que c'était une question de coté client/serveur.
Donc oui coté serveur c'est bon alors. Le probleme vient de l'applet  :pfff:. Malheureusement je ne peux pas la modifier car c'est un service fournit par un autre site.
Je leur ai parlé, il y a peut-être moyen de s'arranger avec eux.  
 


---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Marsh Posté le 22-02-2008 à 14:46:37    

Ben sinon tu déplaces juste l'applet à l'endroit où est elle est censée être...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 22-02-2008 à 14:46:37   

Reply

Marsh Posté le 23-02-2008 à 03:48:27    

Elle est déjà à l'endroit où elle est censée être, c'est-a-dire dans un sous_dossier "chat".
Pour qu'elle fonctionne telle quelle, il faudrait la mettre au même endroit que index.php, donc à la racine. Ce que je ne veux pas, pour des raisons de maintenance et lisibilité de l'arborescence citées plus haut.


---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Marsh Posté le 23-02-2008 à 12:26:59    

juste pour être sûr de bien piger, à la base elle est donc programmée pour être exécutée à la racine ?


Message édité par theredled le 23-02-2008 à 12:27:13

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 23-02-2008 à 14:43:05    

L'applet est programmée avec des chemins en relatif si j'ai bien compris. Donc suffit de placer l'applet dans un dossier , n'importe lequel pour qu'elle fonctionne. Mais de "facon autonome". C'est-a-dire: monsite.com/dossier_chat/chat.php
 
Avec le "index.php?page=dossier_chat/chat.php", ca ne marche pas. L'applet commence à peine a charger et puis freeze comme pas possible. Firefox bug à ce moment la et je dois fermer et le relancer.


---------------
Direct-download.com, le moteur de recherche pour Mega
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed