Include chemin absolu marche plus depuis réinstall

Include chemin absolu marche plus depuis réinstall - PHP - Programmation

Marsh Posté le 11-08-2003 à 01:14:01    

Voila j'ai réinstallé apache php mysql mais mes includes / require avec un chemin relatif ne marchent plus :
 

Code :
  1. require"/menu.php";


 
ca marche pas alors qu'avant ca marchait nickel.
 
C'est un pb de configuration non?  
 
Sur un hebergeur ca marche ca ?

Reply

Marsh Posté le 11-08-2003 à 01:14:01   

Reply

Marsh Posté le 11-08-2003 à 01:29:40    

par contre  
 

Code :
  1. require"./menu.php";


 
ca marche... c'est normal ?  
 
 
Ca vient de ma config apache ?

Reply

Marsh Posté le 11-08-2003 à 01:36:25    

oui c normal, si tu met un / devant ca signifie que l'arborescence doit débuter a la racine du site.
le . est un pointeur vers le repertoire courant.
ne rien mettre avant correspond a ./  
(si je nmabuse)

Reply

Marsh Posté le 11-08-2003 à 02:19:36    

Avant :
 
Arborescence :
 
D:\   Dossier1\index.php
      Dossier2\index.php
      index.php
 
Dans ma page : D:\index.php je faisais :
 
include "\dossier1\index.php";
 
Et ca marchait quelque soit l'emplacement du fichier dans le site dans l'arborescence qui appelle l'include.
 
La j'ai réinstallé sur un autre pc dans un repertoire :
 
C:\web
 
et ca ne marche plus
 
je suis obligé de mettre
 
include ".\dossier1\index.php";
 
J'ai essayé de l'envoyer vers le site free.
 
Ca ne marque que si je met le point.

Reply

Marsh Posté le 11-08-2003 à 02:38:29    

je viens de remettre le site à la racine d'un disque et ca marche sans le point.
 
Au niveau d'un hebergeur que faut il mettre ?

Reply

Marsh Posté le 11-08-2003 à 03:09:03    

je viens de tester, en effet j avais tort, ce que je disait ne s'applique en fait que pour les liens les images etc...
Mais en fait vu qu'apperment tu dois donner le path physique du script en param pour la fct include, si tu met un / sur un serveur linux il commencera l'arbo a la racine du serveur, donc ca marchera pas si ton hébergeur marche avec linux, alors qu'avec windows il le considerera comme relatif.


Message édité par Nico5779 le 11-08-2003 à 03:09:34
Reply

Marsh Posté le 11-08-2003 à 03:12:23    

non moi je cherche a donner le liens à partir du début du site.
 
pour que ou que soit située la page dans l'arborescence l'include marche bien

Reply

Marsh Posté le 11-08-2003 à 03:24:16    

si je met comme liens ./dossier/fichier
 
ca marche a partir de nimporte que fichier de l'arborescence et ca prend bien comme référence le début du site

Reply

Marsh Posté le 14-08-2003 à 15:10:32    

:cry:

Reply

Marsh Posté le 20-08-2003 à 11:52:50    

on remet les chôses au clair.
chemin absolut : chemin commencant par /
chemin relatif : chemin ne commencant pas par un /
 
Dans un script php un programme CGI ou tout autre programme :
un chemin absolut décrit la position des fichiers depuis la base de l'arborescence du disque dur.
Le chemin relatif décrit la position des fichiers depuis le répertoire courant du programme (le répertoire du script php exécuté sur le serveur dans ton cas)
 
que ce soit en relatif ou en absolut, ca ne corespond en rien à la position des fichiers dans l'arborescence du site web. Il peut y avoir des coincidences (script dans le répertoire racine du site web) mais ca ne veut pas dire pour autant que le script a utilisé le répertoire racine du site web pour savoir a partir d'où chercher les fichirs (il a utilisé son répertoire courant).
 
Dans les navigateurs :
chemin relatif : position des fichiers a partir de la position de la page reçu par le navigateur
chemin absolut : position des fichiers a partir de la racine du site web. Mais dans ce cas là, le serveur web va récupérer la demande du navigateur et transformera le chemin demandé pour conaitre le chemin absolut du fichier a renvoyer.

Reply

Sujets relatifs:

Leave a Replay

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