【问题标题】:Fully OO Ftp library for php用于 php 的完全 OO Ftp 库
【发布时间】:2012-03-06 09:24:47
【问题描述】:

我试图构建一个应用程序,它将一些文件从各种 ftp 服务器下载到本地目录。稍后我会将它们上传到其他 ftp 服务器。

应用程序是使用 Zend 框架构建的。

问题是我在 Zend 框架中找不到处理 ftp 下载/上传功能的类。

唯一可用的类是Zend_File_Transfer,它有以下评论:

注意:限制

Zend_File_Transfer 的当前实现是 仅限于 HTTP 后上传。其他支持下载的适配器和 其他协议将在未来的版本中添加。未实现 方法会抛出异常。现在,你应该使用 Zend_File_Transfer_Adapter_Http 直接。只要有 多个适配器可用,您可以使用一个通用接口。

我需要能够做到以下几点:

  • 上传多个文件。
  • 获取所有文件的远程目录列表。
  • 设置验证器
  • 设置过滤器
  • 设置路径
  • 重命名文件
  • 下载包装器
  • 运行过程中出现各种错误的异常情况。

Zend 框架中是否有解决此问题的方法?你能推荐一个用于 ftp 操作的替代库吗?

提前致谢

更新:

  • 我检查了 PEAR 包,不幸的是它仍处于 alpha 阶段 释放。此外,它们的函数一旦返回错误而不是异常 出现下载失败或找不到远程路径等问题。
  • 很遗憾,Skjb_Ftp 并不完整,因为许多函数没有实现。

【问题讨论】:

  • 你试过native onePEAR package吗?
  • @Gordon 是的,我尝试使用本机函数,但它们缺少某些功能,例如在发生错误时抛出异常,这需要我在库之上构建一个层。该层本身有很多问题:( PEAR 包是否支持这些功能?
  • 我不知道。我从来没有使用过它。我只是给出明显可用选择的链接。
  • @Gordon 我检查了 PEAR 包,不幸的是它仍处于 alpha 版本。此外,一旦出现下载失败或未找到远程路径等问题,它们的函数就会返回错误而不是异常。

标签: php class ftp


【解决方案1】:

查看内置 FTP 函数的这个 php5 包装器:https://github.com/dg/ftp-php 它有一些你可以使用的异常处理东西。

【讨论】:

    【解决方案2】:

    这是一个完全 OOP 的 php ftp 库,我自己构建(努力工作),它的单元经过测试,它可以完美地满足您的目的。 php-ftp-client

    【讨论】:

      【解决方案3】:

      这里有一个很棒的库:https://github.com/Nicolab/php-ftp-client

      【讨论】:

      • 不起作用。连接建立并列出目录,但无法传递文件
      • 我的错,我需要调用 pasv() 函数
      【解决方案4】:

      您可以使用proposal for Zend_Ftp。否则,有Skjb_Ftp

      我不能保证这两种解决方案的完整性或有效性,因为我没有使用过,但它应该可以帮助您入门。缺少一些您需要的功能,但使用FTP functions 添加它应该不会太难。

      【讨论】:

      • 我阅读了该提案,但我不确定它是否完整或经过测试足以在生产服务器上使用。我会调查 Skjb_Ftp。
      • 更新:不幸的是,Skjb_Ftp 并不完整,因为许多函数内部都有注释写为“未完成”:(
      • 似乎很多实现都是这样的 :-) 在PHP Classes(PHP4,eurgh)和CodeIgniter 有更多示例。鉴于您现有的应用程序是基于 ZF 构建的,我建议将这些应用程序合并到您自己的文件传输适配器中。您甚至可以参与ZF2 community,看看是否有人在做任何您可以反向移植的工作。
      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 2018-12-30
      • 2011-01-11
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多