【问题标题】:Methods for accessing files outside root访问根以外的文件的方法
【发布时间】:2013-04-15 13:03:00
【问题描述】:
大家好 :D 我的文件结构如下:
/site
/public_html
/1
/2
/3
read.php
/file
file.doc
出于安全原因,我将我的文档移到了 public_html 文件夹之外。
在 read.php 中,我通过代码 "../../../../file/file.doc" 访问 file.doc
是否有其他方法(快捷方式?)来访问文档?我从很多地方调用了很多文件。这段代码太长,很容易忘记我需要多少../。
【问题讨论】:
标签:
php
file
directory
directory-structure
【解决方案1】:
如果您的虚拟主机植根于/site/public_html,您可以使用$_SERVER['DOCUMENT_ROOT'] 将其缩短一点;这应该以相同的方式适用于文档根目录下的所有脚本。
$file = $_SERVER['DOCUMENT_ROOT']. '/../file/file.doc';
【解决方案2】:
您可以设置一个指向根的ROOT 常量:
# on read.php
define('ROOT', dirname(dirname(dirname(dirname(dirname(__FILE__))))).DIRECTORY_SEPARATOR;
然后只需调用:
# anywhere else
include ROOT.'file/file.doc';