background image

       PHP

 

     控制

 

     FTP

       文件上传

 

 

利用 PHP,你总是可以有多种方式来完成某个特定的任务。我们就拿文件上传举个例

子。当然了,你可以按照传统的方式来使用 HTTP 文件上传,把文件直接传输到 Web 服务
器磁盘上。你还可以用更加奇异的方式上传,用 FTP 协议两步就完成上传:从你的本地硬
盘到 Web 服务器,然后再到 FTP 服务器。

PHP 在本机同时支持 FTP 和 HTTP 上传,所以你可以根据自己应用程序的设计需要进

行最佳的选择。使用 PHP 的 FTP 函数进行文件传输几乎与使用传统的 FTP

客户端相同

—你会看到连函数的名字都和标准的 FTP 命令类似。

关于 HTTP 文件上传的文章已经多得满天飞了,这就是为什么本文有必要把注意力放

在基于 FTP 的文件上传上了(但是在后面给出的例子中,两种方式你都会看到)。要注意
的是,本教程假设你已经安装好了 PHP/Apache,而且 HTTP 文件上传和 FTP 的函数都
已经激活了。

本文可以从这里下载,所有的源代码都以单独的文本方式列出来了。

第一步:确信你拥有连接/上传到 FTP 服务器的权限

PHP 的 FTP 函数需要客户端-服务器连接,所以你需要在进行文件上传之前登录到

目标服务器上。你的第一项任务是确信你已经拥有了完成这项任务的信任书。这一步可能
看起来是理所当然的,但是你会惊奇地发现有多少开发人员忘了这么做,结果后来浪费
大量的时间来解决因此而出现的问题。

你可以通过使用命令行的 FTP 客户端登录到目标服务器上,以检查连接状况并尝试

上传一个假文件(列表 A):

列表 A

$ ftp

ftp> open some.host.com
Connected to some.host.com.
220 Welcome to leon FTP Server!
User: upload
331 User upload okay, need password.
Password: ***
230 Restricted user logged in.
ftp> bin
200 Type okay.
ftp> hash
Hash mark printing On?ftp: (2048 bytes/hash mark) .
ftp> put file.bin
200 PORT command successful.
150 Opening BINARY mode data connection.
##