我的应用程序结构如下为什么不能在PHP中工作,这些相对路径
application -> views -> templates
// some more files
page.php
-> controllers
home.php
-> models
items.php
router.php
index.php
第一种情况:
的index.php
include 'application/routes.php';
routes.php文件
require "controllers/home.php";
controllers/home.php
require '/application/models/clusters.php'; //works
require 'application/models/clusters.php'; //works
require '../models/clusters.php'; //doesn't work
为什么第一行工作但不是最后一行?
第二种情况:
的index.php
include 'application/views/page.php';
page.php文件
glob("application/views/templates/*.php") // array of files
glob("templates/*.php") // empty array
我觉得有什么不对我的路在PHP是如何工作的理解,但我无法弄清楚它是什么。有时候路径似乎是相对于当前的脚本,ADN相对的index.php其他时间,但不必拘泥于当我开始/
如果你不想通过set_include_path,但你遍历多个文件每个都包含'require(dirname(__ FILE __)。'/ path');'将会工作 – 2012-02-19 14:42:52
这就是我认为的......那么为什么'“controllers/home.php”;'在application/router.php中工作/?与'''''''''''''有什么关系? – wheresrhys 2012-02-19 14:43:26
请看Mark Baker的解答,我们不知道你的include_path值,所以很难,但我会像我说的那样去做。我也编辑了我的答案,以显示如何查看包含的路径 – jribeiro 2012-02-19 14:55:05