2010-08-28 27 views
1

可以说我们有一个目录。使用__FILE__和在php中定位根文件夹?我该怎么做呢?

项目/ index.php文件

的index.php中

<?php 
require 'config/config.php'; 
echo ROOTPATH; 
?> 

项目/配置/ config.php文件

<?php 
define('ROOTPATH', rtrim(dirname(__FILE__), '\\/')); 
?> 

它会返回像 d:\项目存储\ WEB项目\ WWW \项目\ config中。

问题:

  1. 有一种简单的方式来获得ROOTPATH没有puting它的项目文件夹? (我知道这是supid,但我不能站在问)

  2. 有没有办法让\ project \(根文件夹)?即使我们更改文件夹位置?

感谢

亚当·拉马丹

PS * 请发表评论,如果你不明白我的意思。

+0

你想获取当前脚本文件夹吗? – nepsdotin 2010-08-28 15:53:30

+0

是。还有什么好方法? – 2010-08-28 16:15:13

回答

1

realpath(),是你的朋友。例如:

在配置

/config.php文件

define('ROOTPATH', realpath(dirname(__FILE__).'/..')); 

或获得上述项目的文件夹:我不工作在Windows上

define('ROOTPATH', realpath(dirname(__FILE__).'/../..')); 

,但如果我记得realapath会为你整理斜线...如果不是这种情况,那么使用DIRECTORY_SEPARATOR常数来兼容。

+0

/..做什么?以及关于斜杠'.DS'''。DS。' ?以及http://alanhogan.com/tips/php/directory-separator-not-necessary? – 2010-08-28 15:51:52

+1

@adam:'..'是用于导航目录的标准,例如'realpath('projects/somedir/..')'将被评估为'projects'的绝对文件系统路径。 'realpath'将删除路径中的任何额外的斜杠......您可能*需要担心的唯一的事情是如果您使用\或/但我认为它也可以排序 - 我只是不是100%,因为那样因为我只在* nix系统上工作。 – prodigitalson 2010-08-28 15:57:34

+0

那么根据文章只是使用正斜杠:-) – prodigitalson 2010-08-28 15:58:45

相关问题