对于基本的php包含,我遇到了非常混乱的问题。
我目前正在开发一个网站的版本2,所以我的index.php位于
www.mywebsite.co.uk/v2/index.php我在里面有一个数据库配置文件
www.mywebsite.co.uk/v2/assets/database.php我有个表单动作在里面
www.mywebsite.co.uk/v2/assets/actions/action.php我需要在我的database.php文件中包含我的action.php文件,但是我似乎找不到正确的包含路径。
我试过了
include "database.php";
include "assets/database.php";
include "../assets/database.php";
include "../../assets/database.php";
include "../database.php";
include "../../database.php";
include "../../../database.php";
include "../../../assets/database.php";我甚至开始用
include(dirname(__FILE__)."../database.php");但是,不管我尝试了什么,都找不到包含文件,而且我的操作页面返回一个500服务器错误。
我做错了什么?
更新
我有最奇怪的问题,我真的搞不懂发生了什么。
我是包括我的所有文件正常,他们都工作很好,但一旦涉及到一个表单动作文件,包括只是拒绝工作。
我将一个数据库OOP文件包含在我的整个站点的头中,它工作得很好。然后,我有一个使用POST提交到操作文件的表单,一旦我将数据库包含在我的操作文件中,它就拒绝工作。只有当我使用
dirname(__FILE__)."my/path"操作文件的位置与使用dirname(FILE)."my/path“函数的所有其他文件位于同一个文件夹中,因此路径绝对正确,但每当我试图在操作文件中包含时,除非使用方法,否则会得到500个服务器错误。
有什么想法吗?
更新2
出于某种原因,我必须为两个不同的文件使用不同的包含路径,这两个文件都位于同一个位置。
例如,database.php、home-slder.php和includes.php都位于同一个目录中。如果我想让database.php访问我可以使用的包含文件
include "assets/includes.php";但是,如果我想使用home-slder.php页面访问包含文件,则必须使用
include "../assets/includes.php";即使它们都在同一个目录中?
发布于 2017-05-19 14:31:09
如果这是您的文件结构:
v2/
|
|-- assets/
| |
| |-- actions/
| | |
| | |-- action.php
| |
| |-- database.php
|
|-- index.php然后,通过在include '../database.php'上添加action.php,应该可以工作。如果不是,那么您的PHP文件可能有问题。您还可以使用require '../database.php';查看哪些错误会给您带来什么错误,因为它会抛出有关database.php的错误。
https://stackoverflow.com/questions/44071249
复制相似问题