Include dans un sous dossier
Résolu/Fermé
Sinistrus
Messages postés
1009
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 février 2023
-
2 févr. 2016 à 09:44
Sinistrus Messages postés 1009 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 20 février 2023 - 3 févr. 2016 à 19:00
Sinistrus Messages postés 1009 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 20 février 2023 - 3 févr. 2016 à 19:00
A voir également:
- Include dans un sous dossier
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Mettre un mot de passe sur un dossier - Guide
- Dossier appdata - Guide
- Dossier rar - Guide
- Dossier favoris chrome ✓ - Forum Google Chrome
4 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
546
3 févr. 2016 à 16:48
3 févr. 2016 à 16:48
Oui il faut bien faire la différence entre le chemin depuis le système de fichier (protocole file) et le chemin depuis le serveur web (protocole http).
Coté serveur, PHP peut accéder à tous les fichiers du serveur où il est exécuté directement via le système de fichier.
Par exemple pour les fonctions php include, require, fopen sur un fichier du serveur, etc.
Coté client, le navigateur de l'utilisateur n'as pas accès au système de fichier du serveur mais uniquement au serveur web via le protocole http.
Dans ce cas il faut alors renseigner le chemin depuis la racine de ton site.
On a donc deux constantes à utiliser selon que le chemin sera interprété par PHP (donc via le système de fichier) ou par le navigateur (donc via le serveur web). Par exemple :
Coté serveur, PHP peut accéder à tous les fichiers du serveur où il est exécuté directement via le système de fichier.
Par exemple pour les fonctions php include, require, fopen sur un fichier du serveur, etc.
Coté client, le navigateur de l'utilisateur n'as pas accès au système de fichier du serveur mais uniquement au serveur web via le protocole http.
Dans ce cas il faut alors renseigner le chemin depuis la racine de ton site.
On a donc deux constantes à utiliser selon que le chemin sera interprété par PHP (donc via le système de fichier) ou par le navigateur (donc via le serveur web). Par exemple :
<?php
define('PATH_ROOT', '/home/lesite/www');
define('URL_ROOT', 'http://www.lesite.com');
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="<?php echo URL_ROOT; ?>/css/styles.css" rel="stylesheet" />
<?php include(PATH_ROOT."/config.php"); ?>
<?php include(PATH_ROOT."/inclusion/header.php"); ?>
<?php include(PATH_ROOT."/inclusion/menu-haut.php"); ?>
<?php include(PATH_ROOT."/inclusion/footer.php"); ?>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
546
2 févr. 2016 à 14:59
2 févr. 2016 à 14:59
Salut,
Il s'agit d'un problème de chemin relatif :
- http://www.php-astux.info/chemins-relatif-absolu.php
- https://www.alsacreations.com/astuce/lire/78-quelle-est-la-diffrence-entre-les-chemins-relatifs-et-absolus.html
Une solution classique est de définir une constante contenant le chemin absolu vers la racine de ton site, puis d'utiliser cette constante dans chaque appel de include/require.
Par exemple :
Bonne journée
Il s'agit d'un problème de chemin relatif :
- http://www.php-astux.info/chemins-relatif-absolu.php
- https://www.alsacreations.com/astuce/lire/78-quelle-est-la-diffrence-entre-les-chemins-relatifs-et-absolus.html
Une solution classique est de définir une constante contenant le chemin absolu vers la racine de ton site, puis d'utiliser cette constante dans chaque appel de include/require.
Par exemple :
define('PATH_ROOT', '/var/www/monsite/');
// ou pour windows :
// define('PATH_ROOT', 'C:/wamp/www/monsite/');
include PATH_ROOT . 'page.php';
Bonne journée
Sinistrus
Messages postés
1009
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 février 2023
17
Modifié par Sinistrus le 3/02/2016 à 13:22
Modifié par Sinistrus le 3/02/2016 à 13:22
Bonjour Pitet et merci de t'occuper de mon soucis.
J'ai fais les tests mais ça ne fonctionne pas.
Le fichier ouvert pour test est dans dossier.monsite.com
J'ai sauté quelque chose ? :s
J'ai fais les tests mais ça ne fonctionne pas.
<?php
echo $_SERVER["DOCUMENT_ROOT"];
//Juste pour avoir le chemin absolu que j'écris en dur dans PATH_ROOT
?>
<?php define('PATH_ROOT', '/home/lesite/www'); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="<?php echo PATH_ROOT; ?>/css/styles.css" rel="stylesheet" />
<?php include(PATH_ROOT."/config.php"); ?>
<?php include(PATH_ROOT."/inclusion/header.php"); ?>
<?php include(PATH_ROOT."/inclusion/menu-haut.php"); ?>
<?php include(PATH_ROOT."/inclusion/footer.php"); ?>
Le fichier ouvert pour test est dans dossier.monsite.com
J'ai sauté quelque chose ? :s
Sinistrus
Messages postés
1009
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
20 février 2023
17
3 févr. 2016 à 19:00
3 févr. 2016 à 19:00
Je comprends mieux à présent !
Oulà tu me sauve mon vieux !
J'ai testé et ça a fonctionné... mais juste une question, si je met le //monsite.com
Le chargement de la page ne sera pas plus lourd que ../../ ?
(Merci pour ta solution tout fonctionne très bien !)
Oulà tu me sauve mon vieux !
J'ai testé et ça a fonctionné... mais juste une question, si je met le //monsite.com
Le chargement de la page ne sera pas plus lourd que ../../ ?
(Merci pour ta solution tout fonctionne très bien !)