是否有事实上的标准方法来访问当前目录下的PHP文件

时间:2015-08-09 21:32:40

标签: php

大多数开发人员在脚本当前位置下访问文件的方式是什么?

一个比另一个更有效吗?

$stuff=file_get_contents('../somedirectory/somefile.json');   //This doesn't work.  Just curious why?
$stuff=file_get_contents(dirname(__DIR__).'/somedirectory/somefile.json');
$stuff=file_get_contents(__DIR__.'/../somedirectory/somefile.json');
$stuff=file_get_contents('/var/www/mysite/somedirectory/somefile.json');

require_once('../somedirectory/somefile.php');   //This doesn't work.  Just curious why?
require_once(dirname(__DIR__).'/somedirectory/somefile.php');
require_once(__DIR__.'/../somedirectory/somefile.php');
require_once('/var/www/mysite/somedirectory/somefile.php');

1 个答案:

答案 0 :(得分:4)

这主要是一个意见问题,但您在开源PHP中看到的最多只是使用__DIR__常量加上相对路径,例如:

 require_once __DIR__ . '/../foo.php'; 

仅使用../始终相对于当前工作目录,因此通常(即大多数情况下)不可用:

 require_once getcwd() . '/foo.php';
 // is equivalent to:
 require_once './foo.php';