Derniers journaux de gerald3d :
- [07/09@16:13] intégrer une page HTML dans une autre
- [02/09@13:50] Compatibilité IE 6 ?
- [28/05@09:07] Latex et Lyx
- [26/03@17:07] Programmation C et GTK
Journal : intégrer une page HTML ( suite )
Posté par gerald dumas (page perso, ) le 07 septembre 2003Seulement voila, la page que j'intègre se trouve dans un répertoire différent de celui de la page principale affichée. De ce fait, la page intégrée utilise le répertoire parent comme référence, et cela engendre des erreurs de liens.
Comment puis-je lui forcer la main en lui indiquant l'arborescence exacte où elle se trouve ?
> Lire le journal (7 commentaires, moyenne: 0,9).
Re: intégrer une page HTML ( suite )
Avec chdir ?
-
[^]Re: intégrer une page HTML ( suite )
Posté par gerald dumas (page perso, ) le 07/09/2003 à 20:53. (lien). Évalué à 1.je viens de faire l'essai. Ca fonctionne pour la première page, mais pas pour les suivantes. Je pensais bien pourtant que cela fonctionnerai ?
J'avais une ligne du type <?php require "doc_en_ligne/index.html"; ?>
J'ai transformé tout ca en :
>?php
if (chdir("doc_en_ligne"))
{
require "index.html";
}
?>
et la page doc_en_ligne/index.html est bien chargée. J'ai donc pensé que le pointeur de dossier etait sur "doc_en_ligne" et que toutes les pages appelées par index.html, qui sont normalement appelées dans le répertoire courant, fonctionneraient. Et pourtant non ?
Je continue à chercher.
Merci pour ta réponse.-
[^]Re: intégrer une page HTML ( suite )
Posté par Pascal Terjan (Jabber id, page perso, ) le 07/09/2003 à 21:06. (lien). Évalué à 1.Ah j'avais pas fait gaffe, tu inclus du html pas du php et le probleme est sur les liens.
Une solution serait d'indiquer dans le header que BASE est /tonfichier.php/ et après adans le php de regarder la page demandée mais il faut faire attention que les gens ne demandent pas une url ou un fichier genre ../../../../etc/passwd ...
-
[^]Re: intégrer une page HTML ( suite )
Posté par Ju. (Jabber id, ) le 07/09/2003 à 21:09. (lien). Évalué à 1.Heu, c'est une idée peut etre tres bete, mais pourquoi tu ne donnes pas à tous tes appels de fichier des chemins absolus à partir de la racine du site donnée dans apache :
Tu veux integrer "index.html" du dossier doc_en_ligne ?
require "/doc_en_ligne/index.html";
Pour peu que le dossier doc_en_ligne soit bien à la racine du site.
En fait de la meme facon que pour le lien SRC du tag IMG, le plus simle est de donner le lien absolu, et pas relatif à la page d'appel.
Bon arretez moi si je dis une grosse betise, il est un peu tard, mais je ne vois pas la difficulté... ;-/--
Les fans de Ubuntu et leurs CD, c'est comme les Mormons avec leur évangile, ils en ont toujours sur eux à donner, au cas où.
Zorro.-
[^]Re: intégrer une page HTML ( suite )
Posté par gerald dumas (page perso, ) le 07/09/2003 à 21:12. (lien). Évalué à 0.Il est effectivement tard, et j'en peux plus. Je prends note des remarques et essaierai demain.
Encore merci pour tous vos commentaires éclairés.
-
-
Re: intégrer une page HTML ( suite )
J'ai deux stratégies :
- Pour tous les scripts d'une même "application", les pages maîtres sont au même niveau, et les includes sont dans un sous-repertoire "includes".
-Pour les librairies mutualisables, je stocke dans une variable le chemin relatif vers le répertoire contenant les librairies, et donc pour l'inclusion je concatène ce chemin de base avec le nom du fichier à inclure.
Note : le chemin passé en paramètre de l'include est toujours relatif au script maître
-
[^]Re: intégrer une page HTML ( suite )
Posté par mcben () le 08/09/2003 à 12:26. (lien). Évalué à 1.Et plutôt que de stocker dans une variable, et il parfois plus pratique d'utiliser des constantes. En effet, pour cet exemple, les chemins des librairies, n'ont probablement besoin d'être modifiées lors de l'execution du script/application.
ex:
define ("_PATH_", "/pages/html/"); /* Avec les _, ca le fait encore plus ;-) */
echo _PATH_;

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.