获取目录迭代器从webroot开始

时间:2010-09-15 14:57:41

标签: php directory

我用php编写的开发和生产网站都需要使用目录迭代器来获取某些文件。目录迭代器从驱动器的基目录开始,即c:/。但是,在dev和prod服务器上,webroot文件夹位于不同的位置。

有没有办法让目录迭代器从webroot开始。或者我可以使用一些类似的方法,以便我可以在dev和prod上使用相同的代码,而不必担心应用程序存储在磁盘上的哪个位置。

2 个答案:

答案 0 :(得分:0)

使用$path实例化DirectoryIterator。只需将其更改为webroot。

DirectoryIterator::__construct()  ( string $path  )
  
      
  • path:要遍历的目录的路径。
  •   

您可以在每个环境的配置文件中存储webroot的路径,或者在运行时确定它,并将其保存为常量,或者在引导期间将其保存在注册表或其他可访问的位置。例如,如果您通过位于webroot中的index.php中的FrontController调用您对应用程序的直接访问权限,则可以执行以下操作:

$root = dirname(__FILENAME__);

并将其存储在常量或注册表中。

答案 1 :(得分:0)

使用getenv(“DOCUMENT_ROOT”)启动路径