包括在php中找不到文件

Boa*_*rdy 0 php include

我正在开发一个php项目,我遇到包含文件的问题.

我有一个PHP脚本,位于myapp/reports/index.php.提交表单时,它会向位于myapp/reports/phpHander/submit.php的另一个phpscript执行ajax发布.

然后,Submit.php必须包含一个用于发送电子邮件的php脚本.这样做是为了确保可以反复使用相同的代码,而无需在每次需要时对其进行输入.这个PHP脚本位于../../administrator/classes/send.php.

到目前为止工作正常,但send.php脚本包含另一个文件来获取应用程序配置设置,该文件位于administrator/appConfig.php中.问题是即使我输入了http://localhost/myapp/administrator/appConfig.php的完整网址,也找不到这个appConfig.php .

我究竟做错了什么.我正在使用php include函数来执行此操作并且其工作用于其他所有内容,但它似乎有问题,然后包括来自不同位置的另一个脚本.

感谢您的任何帮助,您可以提供.

Pet*_*ter 5

http://localhost/myapp/administrator/appConfig.php 只是URL路径.

您需要绝对的文件路径C:/wamp/www/myapp/administrator/appConfig.php(Windows)或/var/www/myapp/administrator/appConfig.php(Linux)


无论如何最好的方法是使用常量在根应用程序目录中创建一个文件"dirs.php":

define('ROOT_DIR', dirname(__FILE__));
Run Code Online (Sandbox Code Playgroud)

哪里dirname(__FILE__)将是您的app目录的绝对路径.

有了这些知识,您可以通过以下方式包含文件:

MYAPP /报告/ index.php文件:

require_once('../../dirs.php');
include(ROOT_DIR . '/administrator/appConfig.php');
Run Code Online (Sandbox Code Playgroud)

MYAPP /报告/ phpHander/submit.php:

require_once('../../../dirs.php');
include(ROOT_DIR . '/administrator/appConfig.php');
Run Code Online (Sandbox Code Playgroud)