PHP包含文件。显示找不到错误文件

PHP包含文件。显示找不到错误文件,php,include,Php,Include,我使用的是include函数,它给出了错误。找不到该文件。 在根目录中,我有-index.php和config.php index.php包括config.php和一些其他数据 config.php包含数据库详细信息,包括function/function.php 有一个文件夹用户,它有一个文件calculate.php 在calculate.php中,我包含了AJAX功能,并在AJAX调用中加载了一个文件。文件是cal2.php,它位于user文件夹中。 现在,cal2.php为config.

我使用的是include函数,它给出了错误。找不到该文件。 在根目录中,我有-index.php和config.php

index.php包括config.php和一些其他数据

config.php包含数据库详细信息,包括function/function.php

有一个文件夹用户,它有一个文件calculate.phpcalculate.php中,我包含了AJAX功能,并在AJAX调用中加载了一个文件。文件是cal2.php,它位于user文件夹中。 现在,cal2.phpconfig.php提供了一个包含函数,如:

包括“./config.php”

calculate.php加载此cal2.php

function/function.php文件未加载。它显示未找到的function/function.php文件

因此,文件结构是:

  • /index.php
  • /config.php
  • /user/calculate.php
  • /user/cal2.php
  • /function/function.php

如何继续并且不让function.php包含cal2.php的错误

您应该更改config.php以使用functions.php的绝对路径。如果您使用的是PHP 5.3或更高版本,请按照以下方式操作:

include(__DIR__.'/functions/functions.php');
如果您仍在使用PHP5.2(或者,上帝保佑,更早的版本),您可以这样做:

$dir = dirname(__FILE__);
include($dir.'/functions/functions.php');

“\uuuu FILE\uuuuu”magic常量始终包含当前PHP文件名的值,因此
dirname(\uuuu FILE\uuuu)
调用将为您提供当前脚本的完整文件系统路径。

使用绝对路径包含文件:

$_SERVER['DOCUMENT_ROOT'].'/function/function.php'
这里所有的问题

/user/cal2.php
/function/function.php
您需要包括这样一种方式:

include('../config.php');
但是我有这个问题,我建议你在每一页的页眉中包含文件。配置您必须在每页的页眉中输入

阅读此文,认为它有帮助:


如何在cal2.php中加载function/function.php?请发布代码。遵守2条规则。1.始终发布实际代码。2.始终发布准确完整的错误消息。至于你的问题,这很容易。只需使用现有路径。您的系统中没有
/user/function/
文件夹。实际上,这并不容易。按照OP给出的创建文件系统的说明,严格按照描述使用100%相对包含不会导致出现问题。它可以100%正常工作,没有任何更改。@Shabberobe路径可以是相对的或绝对的,但首先它应该是正确的,指向现有的文件。因此,OP必须首先确定该路径。静止的。然后才开始动态构建它。使用
\uuuu DIR\uuu
dirname(\uu FILE\uuuu)
更好,因为它不依赖服务器环境来工作。@Shabbyrobe这并不更好。它根本没有帮助,它将帮助将函数包含到配置中,但不会帮助将配置包含到其他所有内容中。不要使用相对路径。使用绝对路径。
\uuuu DIR\uuuu
dirname(\uuuu FILE\uuuuu)
是绝对路径,它仍然是相对的,愚蠢的。形式上是绝对的,但它是根据当前文件的相对位置构建的。将该文件移到其他位置,您的相对路径将失败。这就是为什么应该始终使用基于某个常量的绝对路径。