Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2718 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Inclure un fichier de n'importe où, online et easyphp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Inclure un fichier de n'importe où, online et easyphp

n°1890078
DarWog
Posté le 01-06-2009 à 13:05:30  profilanswer
 

Bonjour,
 
je souhaiterais inclure un fichier (menu.php, config.php) dans la plupart des fichiers de mon site web.
Pour pouvoir modifier la structure du site sans changer les chemins d'include, il faut que je mette un chemin global.
 
Le problème est que je voudrais que ce soit compatible à la fois online et en local avec easyphp
seulement, le chemin global n'est pas le meme dans les deux cas, voila la page de base du site :  
online : $_SERVER["SCRIPT_NAME"] = /mon_user/index.php            
easyphp : $_SERVER["SCRIPT_NAME"] = /mon_site/index.php
 
Comment écrire ca pour que ca marche des deux côtés ?  
Et je ne veux pas appeler mon site "mon_user" car j'en ai plusieurs : /mon_site1, /mon_site2... en local
 
Merci


Message édité par DarWog le 01-06-2009 à 13:15:45
mood
Publicité
Posté le 01-06-2009 à 13:05:30  profilanswer
 

n°1890080
aideinfo
Posté le 01-06-2009 à 13:17:41  profilanswer
 

Qu'est-ce qui t'empêche de créer une structure identique sur ton hébergement et en local ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1890090
DarWog
Posté le 01-06-2009 à 13:43:50  profilanswer
 

sur mon hébergeur, je n'ai pas le choix, je suis dans /monuser/
en local, je suis dans /dossier/ où je choisis 'dossier', mais je ne vais pas l'appeller monuser, car j'ai plusieurs sites en local...

n°1890095
SICKofitAL​L
misanthrope
Posté le 01-06-2009 à 14:09:16  profilanswer
 

Utilises un chemin dynamique.

Code :
  1. define ('ABSPATH', dirname(__FILE__) . '/');
  2.  
  3. include_once (ABSPATH . 'tonfichier.php');
  4. ?>


---------------
We deserve everything that's coming...
n°1890097
DarWog
Posté le 01-06-2009 à 14:30:10  profilanswer
 

cette commande renvoie le dossier du script exécuté, donc dépend du dossier du script. Je ne vois pas comment elle m'aide à inclure un fichier d'un autre endroit  
dont je ne connais pas l'emplacement relatif (car je veux pouvoir bouger les dossiers)
 
je veux inclure un fichier qui est :
distant : /monuser/inc/toto.php
local : /monsite/inc/toto.php
 

n°1890099
SICKofitAL​L
misanthrope
Posté le 01-06-2009 à 14:36:16  profilanswer
 

ben c'est à toi de savoir la structure de tes fichiers. Et en partant d'un point absolue, tu peux accèder à tes fichiers par la suite en spécifiant le bon chemin dans ton include [:spamafote]
Avec des trucs du style "./../fichier.php" etc...


---------------
We deserve everything that's coming...
n°1890105
DarWog
Posté le 01-06-2009 à 14:46:52  profilanswer
 

Je connais le chemin global, mais le problème est que ce chemin global a deux possibilités (pour les liens <a href> ) :  
soit on est online (/monuser/...),  
soit on est offline (easyphp => /monsite/...).
 
Le problème est d'inclure le fichier de config avec un chemin absolu.
Ce qui d'ailleurs n'est pas /monuser ou /monsite
mais C:\websites\monsite en local
et /web/sites/vhbu3/2/.../public/www/monuser chez mon hébergeur
 
Une Solution :
if(ereg(/127.0.0.1), http_refferer)   $local='C:\websites\monsite'
else $local='/web/sites/vhbu3/2/.../public/www/monuser'
 
le problème est qu'il faut mettre ca dans toutes les pages su site :/


Message édité par DarWog le 01-06-2009 à 15:49:35
n°1890145
PunkRod
Digital Mohawk
Posté le 01-06-2009 à 17:08:38  profilanswer
 

Utilise un framework alors...

n°1890147
DarWog
Posté le 01-06-2009 à 17:15:26  profilanswer
 

PunkRod a écrit :

Utilise un framework alors...


C'est-à-dire ??

n°1890151
jonas3
Posté le 01-06-2009 à 17:28:17  profilanswer
 

créer un fichier de config php qui contient tout tes liens, un specifique au serveur et un specifique en locale,
ça ce passe comme ça généralement.
T'auras toujours des differences en local et sur ton serveur, comme le login à la bdd, l'ip de la BDD... donc autant  
faire un fichier maintenant tu gagneras du temps.
 
Par exemple j'utilise un fichier inc.conf.php qui contient :
 

Code :
  1. <?php
  2. session_start();
  3. define ('SITE_URL', 'http://localhost/leonard_vinci/'); //racine web à modifier
  4. define ('WORKSPACE_PATH','C:/wamp/www/vinci/');
  5. define ('MAIN_PATH', WORKSPACE_PATH.'leonard_vinci/'); //chemin physique à modifier
  6. define ('CLASSES_PATH',MAIN_PATH.'classes'.DIRECTORY_SEPARATOR);
  7. define ('MODELS_PATH', MAIN_PATH.'classes'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR);
  8. define ('CONTROLEURS_PATH',MAIN_PATH.'classes'.DIRECTORY_SEPARATOR.'controleurs'.DIRECTORY_SEPARATOR);
  9. define( 'DSN_BD','mysql://toto:toto@localhost/blabla'); // je passe par PEAR mais normalment ici tu definies ton login à ta bdd
  10. ?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Inclure un fichier de n'importe où, online et easyphp

 

Sujets relatifs
executer un fichier .javaEnvoyer La Source dans un fichier Texte
[C] Ecriture/lecture de float dans un fichier[Javascript] Load d'un fichier depuis URL ??
[Resolu]Problème de mise en forme de Fichier .txtPb ecriture dans un fichier csv
déclencher le calcul d'un fichier excel avec VBAAPACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !
Dans USS transformer fichier format UNIX en format WindowsUn graphe à partir d'un fichier
Plus de sujets relatifs à : Inclure un fichier de n'importe où, online et easyphp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR