DIR 是一个魔法常量,如 PHP docs 中所述. getcwd() 只是根据 PHP docs 的当前工作目录.
我的用例是:
// this is my index.php file
require_once __DIR__ . '/vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/{name}', function($name) use($app) {
return $app->sendFile(__DIR__ . '/web/source/index.php');
});
我不完全理解为什么我需要这些机制中的任何一种,因为我应该能够使用相对路径。
但是代码没有它就失败了。
最佳答案
__DIR__
是当前执行文件所在的位置。
getcwd()
是当前执行 php 文件的目录。请记住,您是在服务器上而不是客户端上,需要注意您正在使用的目录。
这可以改变。
参见 here有关此概念的更多信息。
关于php - getcwd 和 __DIR__ 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407994/