Bor*_*rov 42 php relative-path
我有以下文件结构:
rootDIR
dir1
subdir1
file0.php
file1.php
dir2
file2.php
file3.php
file4.php
file1.php 需要来自dir2的file3和file4,如下所示:
require('../../dir2/file3.php')
Run Code Online (Sandbox Code Playgroud)
file2.php要求file1.php如下:
require('../dir1/subdir1/file1.php')
Run Code Online (Sandbox Code Playgroud)
然后在file1中要求无法打开file3和file4(可能是由于路径相对性)
然而是什么原因,什么我可以做file2.php这样file1.php正确地要求文件3和文件4
Bar*_*nth 54
尝试dirname(__FILE__)在路径之前添加,例如:
require(dirname(__FILE__).'/../../dir2/file3.php');
Run Code Online (Sandbox Code Playgroud)
它应该包括从根目录开始的文件
Sha*_*rpC 49
对于相对路径,您可以__DIR__直接使用而不是dirname(__FILE__)(只要您使用的是PHP 5.3.0及更高版本):
require(__DIR__.'/../../dir2/file3.php');
Run Code Online (Sandbox Code Playgroud)
请记住在引号内的路径开头添加额外的正斜杠.
看到:
这里适当的建议是永远不要在你的网络应用程序中使用诸如"../../"相对路径之类的东西.它难以阅读,维护也很糟糕.
你可以证明.这让你很难知道你指的是什么.
如果您需要更改应用程序的文件夹级别或部分文件夹级别.它完全容易出错,并且可能会破坏调试可怕的东西.
相反,define您的引导程序文件中的一些常量用于主路径,然后使用:
require(MY_DIR.'/dir2/file3.php');
Run Code Online (Sandbox Code Playgroud)
从那里移动您的应用程序就像在一个文件中替换MY_DIR常量一样简单.
| 归档时间: |
|
| 查看次数: |
39604 次 |
| 最近记录: |