我的一个功能包括以下错误。
require(../htmlpurifier/library/HTMLPurifier.auto.php) [function.require]: failed to open stream: No such file or directory
如果我编写路径
,我可以解决这个问题./htmlpurifier/library/HTMLPurifier.auto.php
但是我希望在我的网站上的许多不同级别的文件夹中显示包含文件,而不必重新编码我的函数内部的路径,包括每次违反我的包含目的。我有没有办法让这项工作不必每次都重新编码路径?有没有办法包括完整路径?
答案 0 :(得分:0)
试试这个:
require realpath(dirname(__FILE__) . '/htmlpurifier/library/HTMLPurifier.auto.php');
这样你总是包含相对于当前文件路径的文件。
答案 1 :(得分:0)
您使用的是错误的路径 把这两条线放在一起,感受不同。
../htmlpurifier/library/HTMLPurifier.auto.php
./htmlpurifier/library/HTMLPurifier.auto.php
这是两条不同的路径,永远不会同时工作。后者指向当前目录,而第一个目录 - 高一级。
这是明智的愿望。你走了:但我想在我的网站上的许多不同级别的文件夹中显示包含文件,而无需重新编码我的函数内的路径
require $_SERVER['DOCUMENT_ROOT'].'/htmlpurifier/library/HTMLPurifier.auto.php';
(假设此htmlpurifier文件夹位于文档根目录中)
答案 2 :(得分:0)
试试这个
require (dirname(__FILE__).'/../htmlpurifier/library/HTMLPurifier.auto.php');
答案 3 :(得分:0)
如何将此.php文件的路径配置为脚本中的配置变量?据推测,您将在所有页面中加载一些常用函数库,所以只需执行:
$PATH_TO_PURIFIER = 'C:\this\that\whatever\HTMLPurifier.auto.php';
在那个普通文件中,你可以做到
include('commonstuff.php');
include($PATH_TO_PURIFIER);
只要commonstuff.php位于PHP的include_path中的某个位置,以这种方式执行它就更可靠,而不是尝试动态计算其他地方的路径。特别是如果您的目录结构可能会更改,则会使计算出的路径无效并迫使您再次更改每个PHP文件。