Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用require()路径文件的更好方法_Php_Include_Require Once - Fatal编程技术网

Php 使用require()路径文件的更好方法

Php 使用require()路径文件的更好方法,php,include,require-once,Php,Include,Require Once,这是我目前使用的代码。 代码位于一个名为config.php的文件中 结构如下: wordpress\wp content\themes\\plugins\shortcodes-ultimate\lib\config.php 我需要访问“wordpress/wp load.php” get_bloginfo()在config.php中不起作用 如何以更简单的方式包含它?将wordpress的完整路径添加到脚本早期的某个包含路径中,然后为所有包含添加“简短”版本: require( dirname

这是我目前使用的代码。 代码位于一个名为config.php的文件中

结构如下:

wordpress\wp content\themes\\plugins\shortcodes-ultimate\lib\config.php

我需要访问“wordpress/wp load.php”

get_bloginfo()在config.php中不起作用
如何以更简单的方式包含它?

wordpress
的完整路径添加到脚本早期的某个包含路径中,然后为所有包含添加“简短”版本:

require( dirname(dirname(dirname(dirname(dirname(dirname(dirname( __FILE__ ))))))).'/wp-load.php' );
注意,您还应该检查路径,看看它是否符合您的预期。wordpress目录很有可能已经在您的路径中的某个位置,问题是主要的
/
,(即,请记住路径
“/wp load.php”
“wp load.php”

还要注意“/path/to/wordpress”也可以是相对的。

这有什么问题

set_include_path("/path/to/wordpress" . DIRECTORY_SEPERATOR . get_include_path());
...
require("wp-load.php");
?


还有,你真的想让你的插件位于一个主题中吗?

我做了一点小东西来获取找到wp-load.php所需的
(至少如果你的代码在wp内容中):


谢谢,这就是我一直在寻找的。我已经尝试过了,但始终无法计算链接中“./”的数量,是的,我需要包括插件,因为我不想要求每个用户手动安装。
require("../../../../../../wp-load.php");
$current = preg_split('/\//', preg_split('/wp-content/', getcwd())[1]);
$line = '';
foreach($current as $dots) {
    $line .='../';
}
require($line.'wp-load.php');