如何检查路径是指向文件夹还是文件?

时间:2010-10-01 15:55:42

标签: php zend-framework file download

我正在为我的zend应用程序构建一个小类(使用MVC)。此类接收文件夹路径或文件路径。如果是文件夹路径,我想列出该文件夹中的所有文件以使其可下载。如果它是一个文件我想要一个链接到这个文件,使其可以下载。

我指向的文件/文件夹是/ zendApplicationName / Public / Models / Subfolder / File。

我尝试使用

进行检查
is_file('pathToFile')

is_dir('pathToFolder')

检查我使用

构建的路径
APPLICATION_PATH . '..\public' .  $this->_path . 'file.docx'

$this->_baseUrl' .  $this->_path . 'file.docx' // i took the baseURL from Zend_Controller_Front::getInstance()

我也尝试使用旧学校的php版本

$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'?'https':'http';
$path = $protocol . '://' . $_SERVER['HTTP_HOST'] . $this->_baseUrl . $this->_path . 'file.docx'

提前致谢

编辑:

问题是即使文件夹和文件存在,两个函数都返回false

1 个答案:

答案 0 :(得分:0)

感谢您的评论,两者都非常有用。他们让我重新检查我的代码并且路径错误

最终路径输出为:

  

C:\瓦帕\ WWW \以禄\树干\以禄\应用/../公共/模型/ feuilleDeRoute /

使用:

  

APPLICATION_PATH。 DIRECTORY_SEPARATOR   。 '..' DIRECTORY_SEPARATOR。   '上市' 。 $这 - > _path;

这样可以检查两者,文件夹和文件