如何在Symfony2中获取文件的绝对路径?

时间:2015-03-16 11:13:05

标签: symfony path

我正在使用Symfony2框架,我在doc文件夹中放置了2个pdf文件(在app和web文件夹旁边)

在我的控制器中我写了这个:

$path = $this->get('kernel')->getRootDir() . "/../doc/" . $filename . '.pdf';

我调试项目,我在变量$ path里面:

c:/wamp/www/myproject/app/../doc/myfile.pdf

将此路径放入Windows系统资源管理器中,我可以打开该文件。 (所以看起来很好)

但是在控制器内部,我在$ path上调用的函数返回null,例如mime_content_type()或basename(),如果我写了file_get_content($ path),则说该文件不存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

$path = realpath($this->get('kernel')->getRootDir() . "/../doc/" . $filename . '.pdf');

http://php.net/manual/en/function.realpath.php

编辑:realpath还检查路径是否存在。因此它只能用于路径的现有部分。