【发布时间】:2011-04-24 00:37:00
【问题描述】:
我即将开始为 PHP 编写一个 FTP 包装器,我只需要执行基本操作:
- 读/写和附加到文件
- 列出/chmod 并删除文件/文件夹
不幸的是,我只需要在 PHP 中使用 FTP 一次到 answer this question,我对 ftp 扩展名感到有些失望,主要是因为区分文件和文件夹并不是一件容易的事,而且整体速度不是太棒了。
据我所知,PHP 有四种与 FTP 服务器交互的不同方式:
- 纯套接字实现
- 文件包装器
- FTP 扩展
- CURL 扩展
现在,我不想自己编写 FTP 客户端协议,所以选项 #1 不适用。
如果我需要做一些琐碎的事情,比如获取单个文件,文件包装器非常棒,但如果我需要执行更复杂的操作,它们会非常慢,因为每个调用都会打开自己的连接。
这给我留下了 FTP 和 CURL 扩展,这就是我需要一些指导的地方。正如我之前所说,我不是 FTP 扩展的忠实拥护者,另一方面,我从未使用过 CURL 到 FTP,因此我无法客观地比较两者。
有没有人尝试过这两种方法?你对他们有什么看法? CURL 选项更快吗?
另外,有没有我不知道的替代方案?
【问题讨论】:
-
这是一个小型 FTP 库github.com/lazzard/ftp-bridge(尚未完成),它允许您在没有 FTP 扩展的情况下以低实现级别(基于流)与服务器通信,但我仍在工作它,我希望得到一些帮助。