【问题标题】:PHP / FTP ClientPHP / FTP客户端
【发布时间】:2011-04-24 00:37:00
【问题描述】:

我即将开始为 PHP 编写一个 FTP 包装器,我只需要执行基本操作:

  • 读/写和附加到文件
  • 列出/chmod 并删除文件/文件夹

不幸的是,我只需要在 PHP 中使用 FTP 一次到 answer this question,我对 ftp 扩展名感到有些失望,主要是因为区分文件和文件夹并不是一件容易的事,而且整体速度不是太棒了。

据我所知,PHP 有四种与 FTP 服务器交互的不同方式:

  1. 纯套接字实现
  2. 文件包装器
  3. FTP 扩展
  4. CURL 扩展

现在,我不想自己编写 FTP 客户端协议,所以选项 #1 不适用。

如果我需要做一些琐碎的事情,比如获取单个文件,文件包装器非常棒,但如果我需要执行更复杂的操作,它们会非常慢,因为每个调用都会打开自己的连接。

这给我留下了 FTP 和 CURL 扩展,这就是我需要一些指导的地方。正如我之前所说,我不是 FTP 扩展的忠实拥护者,另一方面,我从未使用过 CURL 到 FTP,因此我无法客观地比较两者。

有没有人尝试过这两种方法?你对他们有什么看法? CURL 选项更快吗?

另外,有没有我不知道的替代方案?

【问题讨论】:

  • 这是一个小型 FTP 库github.com/lazzard/ftp-bridge(尚未完成),它允许您在没有 FTP 扩展的情况下以低实现级别(基于流)与服务器通信,但我仍在工作它,我希望得到一些帮助。

标签: php curl ftp


【解决方案1】:

你看过 PEAR 包Net_FTP吗?

【讨论】:

  • 虽然没有,但看起来很棒 - 但是,它仍然依赖于 ftp 扩展,恐怕性能不会很好。我真的很想听听关于 CURL 方法的反馈。
【解决方案2】:

我已经为一个项目尝试了这两种方法。需要通过带有加密和身份验证的 ftps+auth 连接上传一些文件,然后获取响应代码和 XML 信息,类似于 XML-RPC 交换,所以最后甚至无法更接近使用 php-ftp-extension 和所有内容的解决方案通过一些调试(CURLOPT_VERBOSE)和configuringPHP-CURL 完成。所以我投票给CURL,它是从 1997 年开始的,效果很好!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2011-08-09
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多