2012-03-06 42 views
4

我試圖建立一個應用程序,將從各種FTP服務器下載一些文件到本地目錄。稍後我會將它們上傳到其他ftp服務器。完全OO Ftp庫的PHP

該應用程序是使用Zend框架構建的。

事情是我找不到一個類來處理Zend框架中的ftp下載/上傳功能。

唯一可用的類是Zend_File_Transfer它具有如下評論:

注:限制

當前實現Zend_File_Transfer的是 限於HTTP帖子上傳。支持下載和其他協議的其他適配器將在未來版本中添加。未實現 方法將拋出異常。目前,您應該直接使用 Zend_File_Transfer_Adapter_Http。只要有 多個適配器可用,您可以使用通用接口。

我需要能夠做到以下幾點:

  • 上傳多個文件。
  • 獲取所有文件的遠程目錄列表。
  • 設置驗證
  • 設置過濾器
  • 設置路徑
  • 重命名文件
  • 包裝器下載運行期間
  • 例外各種錯誤。

在Zend框架中是否有解決這個問題的方法?你能推薦一個用於ftp操作的替代庫嗎?

在此先感謝

UPDATE:

  • 我檢查了PEAR包,不幸的是它仍然處於alpha 釋放。而且,一旦 問題發生,如下載失敗或找不到遠程路徑,它們的函數將不會返回錯誤。
  • 不幸的是,Skjb_Ftp並不完整,因爲很多函數沒有實現。
+0

你試圖用[原生一個(http://php.net/ftp)或[PEAR包(HTTP://pear.php。淨/包/ Net_FTP)? – Gordon 2012-03-06 09:28:26

+0

@戈登是的我試圖使用本地函數,但他們缺乏某些功能,如發生錯誤時需要我在庫上創建圖層時拋出異常。該層本身有很多問題:(PEAR包是否支持這些功能? – Songo 2012-03-06 09:38:29

+0

我不知道,我從來沒有使用它,我只是給出明顯的可用選擇的鏈接 – Gordon 2012-03-06 09:40:37

回答

0

有一個proposal for Zend_Ftp,您可能可以使用。如果沒有,那麼有Skjb_Ftp

我不能保證這些解決方案的完整性或有效性,因爲我還沒有使用過,但它應該是讓你開始的東西。您需要的某些功能缺失,但使用FTP functions添加它不應太困難。

+0

我閱讀提議,但我不確定它是否完整或經過測試,足以在生產服務器上使用。看看Skjb_Ftp – Songo 2012-03-06 09:35:40

+0

更新:不幸的是Skjb_Ftp並不完整,因爲許多函數在它們裏面有一條評論,寫爲「未完成」:( – Songo 2012-03-08 22:44:10

+0

似乎許多實現類似於:-) [PHP類]中的一些更多示例( http://www.phpclasses.org/browse/file/6789.html)(PHP4,eurgh)和[CodeIgniter](https://github.com/EllisLab/CodeIgniter/blob/develop/system/lib raries/Ftp.php)。鑑於你現有的應用程序是建立在ZF上的,我建議將它們合併到你自己的文件傳輸適配器中。你甚至可以參與[ZF2社區](http://framework.zend.com/zf2),看看是否有人正在處理任何可以回溯的東西。 – cmbuckley 2012-03-08 23:08:21