如果文件位于另一个目录中,则包含失败



我正在尝试包含一个包含一些功能的php文件。我最初的计划是将其存储在不同的目录中,但是当我这样做时,包含失败。

我的意思是:

var_dump(file_exists("/dir/functions.php")); // returns bool(false)
var_dump(file_exists("dir/functions.php")); // returns bool(false)
var_dump(file_exists("http://www.example.com/dir/functions.php")); // also returns bool(false)
var_dump(file_exists("functions.php")); // returns bool(true) if I place the file in the same directory
var_dump(include("/dir/functions.php")); // returns bool(false)
var_dump(include("dir/functions.php")); // returns bool(false)
var_dump(function_exists(someFunction));// returns bool(false)
var_dump(include("functions.php"));// returns bool(true) if I place the file in the same directory
var_dump(function_exists(someFunction));// returns bool(true)

我做错了什么?我检查了一下,文件都在那里,它们具有读取和执行权限,即 755

函数包含需要完整的服务器路径或相对于调用脚本所在目录的路径由于目录结构

www.example.com/site/index.php
www.example.com/dir/functions.php

具有相对路径的正确调用是

include("../dir/functions.php");

这个(你的示例)文件的位置是什么?也许您需要执行../或返回到根位置,然后创建路径。

例:

include('../dir/script.php');

最新更新