2010-10-01 212 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。 '公共'。 $這 - > _路徑;

這樣既可以檢查,文件夾和文件

相關問題