2

我试图在 /html/ 目录的开头包含一个文件 (/wp-load.php)。我试图从/wp-content/themes/pw-steel-orange/index-load.php 中包含它,但我总是收到错误消息

警告:require_once(../wp-load.php) [function.require-once]:无法打开流:/nfs/c07/h01/mnt/102799/domains/platyworld.com/html 中没有这样的文件或目录/wp-content/themes/pw-steel-orange/index-load.php 在第 1 行

致命错误:require_once() [function.require]: 无法打开所需的 '../wp-load.php' (include_path='.:/usr/local/php-5.2.6-1/share/pear') /nfs/c07/h01/mnt/102799/domains/platyworld.com/html/wp-content/themes/pw-steel-orange/index-load.php 在第 1 行

难道我做错了什么?我虽然 ../ 将包含项带到了开始目录

抱歉,如果这是重复的,我在搜索中找不到与此相关的内容...

4

2 回答 2

3

您可以发出以下命令来查看您从哪里提取文件(您所在的位置):

// get your current working directory
echo getcwd();

然后相应地包含该文件。

// file is 3 dirs back
include '../../../wp-load.php';

例如,如果您使用像 CodeIgniter 这样的框架,那么index.php在您的应用程序的一开始就会有一个文件将调用所有其他代码。因此,您必须根据该文件包含该文件。

大多数框架使用他们称之为 a 的东西BASEPATH,即当前实际的站点完整服务器路径。在将您的网站迁移到另一个目的地时,这可能非常有用。

于 2010-08-07T01:49:51.243 回答
1

这是一种半自动的方法:

$incPath = str_replace("/wp-content/plugins/PLUGIN_NAME","",getcwd());
ini_set('include_path', $incPath);
include('wp-load.php');

无论如何,包含 wp-load.php 仍然是一个坏主意。(如果此链接被删除,请在此处查看该页面

于 2010-12-26T22:43:55.687 回答