2010-04-10 3 views
0

Je suis en cours d'exécution d'un script deComment puis-je définir un chemin absolu pour la fonction include en php au-dessus du répertoire de travail?

/wp-content/themes/currenttheme/chat.php 

Je veux inclure dans le php ci-dessus un autre situé dans

/forum/chat/index.php 

Le index.php comprend ses propres fichiers

je l'ai déjà essayé

$root = $_SERVER['DOCUMENT_ROOT']; 
include($root."/forum/chat/index.php"); 

mais j'obtiens cette erreur

Warning: require(D:/My Dropbox/xampp/htdocs/lib/custom.php) [function.require]: failed to open stream: No such file or directory in D:\My Dropbox\xampp\htdocs\forum\chat\index.php on line 17

Fatal error: require() [function.require]: Failed opening required 'D:/My Dropbox/xampp/htdocs/lib/custom.php' (include_path='.;\My Dropbox\xampp\php\PEAR') in D:\My Dropbox\xampp\htdocs\forum\chat\index.php on line 17

(index.php inclut également quelques fichiers, mais le/forum/discussion est ommited en quelque sorte dans le chemin)

puis j'ai essayé

$path = getcwd(); 
$myfile = "/forum/chat/index.php"; 
include ($path.$myfile); 

et a obtenu cette erreur:

Warning: include(D:\My Dropbox\xampp\htdocs\forum/forum/chat/index.php) [function.include]: failed to open stream: No such file or directory in D:\My Dropbox\xampp\htdocs\wp-content\themes\currenttheme\chat.php on line 24

Warning: include() [function.include]: Failed opening 'D:\My Dropbox\xampp\htdocs\forum/forum/chat/index.php' for inclusion (include_path='.;\My Dropbox\xampp\php\PEAR') in D:\My Dropbox\xampp\htdocs\wp-content\themes\currenttheme\chat.php on line 24

Répondre

1

Il n'y a pas de problème avec index.php. Il est inclus. Le message d'erreur indique à propos de fichier custom.php

Il suffit d'utiliser la même technique $_SERVER['DOCUMENT_ROOT'] pour la custom.php

vous devez ajouter/forum/chat manuellement car il n'y a pas de chemin pour être omis

+0

custom.php est inclus dans index.php et il fonctionne très bien quand lancé toute façon, sauf lorsque je tente de faire de l'inclusion mentionnée ci-dessus – Baros

+0

@ Baros Alors quoi? Pourquoi ne pas le réparer comme je vous l'ai dit? –

0

Quelque chose ne va avec:

include('../../../forum/chat/index.php'); 

?

Il y a toutes sortes de raisons pour lesquelles le code que vous avez publié va échouer.

C.

+0

Lorsque je l'utilise comme vous l'avez écrit, j'obtiens la deuxième erreur. Il commence à fonctionner seulement si j'ajoute un autre/avant le premier .. mais maintenant je reçois la première erreur. – Baros

+0

en utilisant le chemin relatif est toujours une mauvaise idée. –

+0

Je suis d'accord. Mais je n'ai pas le choix 'Attention: include() [fonction.include]: http: // wrapper est désactivé dans la configuration du serveur par allow_url_include = 0' et 'Attention: include() [function.include]: accès au fichier URL est désactivé dans la configuration du serveur ' – Baros

0

utiliser ceci.

require_once(ABSPATH.'forum/chat/index.php'); 

ici abspath = WordPress chemin physique du répertoire racine avec slash

Questions connexes