php - getcwd 和 __DIR__ 有什么区别?

标签 php directory silex

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/

相关文章:

php - STR_TO_DATE 不适用于 laravel 中 IF 条件分隔的查询

ruby - ruby 模块是否有可能获取定义包含该模块的类的文件的目录?

symfony - Doctrine 2 : Select specific columns from Entity and its Join entities

twig - 如何在 Twig 中设置默认主题?

php - PayPal IPN 收到数据,但回发无效

PHP 时区转换/PHP 日期未显示正确的时区

php - Laravel 路线似乎不起作用

windows - 在 Windows 中查找文件夹的实际大小

maven - 嵌入式系统开发文件夹结构

php - Silex框架中ajax的使用