我正在使用 PHP 7 运行 laravel 服务器。我试图使用以下命令来请求文件:
require __DIR__.'/../bootstrap/autoload.php';
Run Code Online (Sandbox Code Playgroud)
我运行此脚本的文件位于名为 public 的文件夹中。因此__DIR__应该等于:
www.mydomain.com/myserver/public/index.php
Run Code Online (Sandbox Code Playgroud)
脚本应创建的路径应该是:
www.mydomain.com/myserver/bootstrap/autoload.php
Run Code Online (Sandbox Code Playgroud)
然而,它不是动态创建正确的路径,而是将“/../”视为文字目录,而不是告诉它返回一个目录。所以我要返回的路径是:
www.mydomain.com/myserver/public/../bootstrap/autoload.php
Run Code Online (Sandbox Code Playgroud)
有什么想法为什么会发生这种情况吗?提前谢谢了。
根据我的评论;
__DIR__是你当前所在的目录,如果你想返回上一步,你可以使用dirname
这用于诸如;
dirname(__DIR__);
Run Code Online (Sandbox Code Playgroud)
因此,如果您当前的目录是(并且是您当前所在的目录):
C:/server/htdocs/system/main/index.php
__DIR__会给你C:/server/htdocs/system/main并且dirname(__DIR__)会给你C:/server/htdocs/system/
因此,使用以下内容即可满足您的需要;
require(dirname(__DIR__) . "/bootstrap/autoload.php");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6566 次 |
| 最近记录: |