2010-10-01 156 views
0

我正在为我的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

+2

什么是你的问题?当你尝试'is_file'和'is_dir'时会发生什么? – 2010-10-01 16:02:54

+1

重新编辑:你能举一个你正在查询什么样的路径的例子吗?您正在使用文件路径,而不是http:// ones,正确吗?因为is_file()等无法在这些工作 – 2010-10-01 17:30:17

+0

您的路径是错误的,PHP无法找到文件或目录。 100%确定路径存在并且有效。在创建路径时还要尝试使用常量,例如DIRECTORY_SEPARATOR。 – Andreas 2010-10-01 17:32:30

回答

0

感谢您的意见,两者真正有用。他们让我重新检查我的代码和路径是错误的

最终路径输出为:

C:\ WAMP \ WWW \以禄\干线\以禄\应用/../公共/模型/ feuilleDeRoute/

使用:

APPLICATION_PATH。 DIRECTORY_SEPARATOR 。 '..'。 DIRECTORY_SEPARATOR。 '公共'。 $这 - > _路径;

这样既可以检查,文件夹和文件

相关问题