PHP的FTP学习(二)

来源:互联网 发布:淘宝情侣装店铺推荐 编辑:程序博客网 时间:2024/05/16 16:39
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
By Vikram Vaswani
Melonfire
November 07, 2000
登录了FTP服务器,PHP提供了一些函数,它们能获取一些关于系统和文件以及目录的信息。

FTP_pwd()
如果你想知道你当前所在的目录时,你就要用到这个函数了。
--------------------------------------------------------------------------------
<?

// get current location
$here = FTP_pwd($conn);

?>
--------------------------------------------------------------------------------
万一你需要知道服务器端运行的是什么系统呢?
FTP_systype()正好提供给你这方面的信息。
--------------------------------------------------------------------------------
<?

// get system type
$server_os = FTP_systype($conn);

?>
--------------------------------------------------------------------------------
关于被动模式(PASV)的开关,PHP也提供了这样一个函数,它能打开或关闭PASV(1表示开)
--------------------------------------------------------------------------------
<?

// turn PASV on
FTP_pasv($conn, 1);

?>
--------------------------------------------------------------------------------

现在,你已经知道你在“哪里”和“谁”跟你在一起了吧,现在我们开始在目录中逛逛--实现这一功能的是FTP_chdir()函数,它接受一个目录名作为参数。
--------------------------------------------------------------------------------
<?

// change directory to "public_html"
FTP_chdir($conn, "public_html");

?>
--------------------------------------------------------------------------------
如果你想回到你刚才所在的目录(父目录),FTP_cdup()能帮你实现你的愿望,这个函数能回到上一级目录。
--------------------------------------------------------------------------------
<?

// go up one level in the directory tree
FTP_cdup($conn);

?>
--------------------------------------------------------------------------------
你也能够建立或移动一个目录,这要使用FTP_mkdir()和FTP_rmdir()函数;注意:FTP_mkdir()建立成功的话,就会返回新建立的目录名。
--------------------------------------------------------------------------------
<?

// make the directory "test"
FTP_mkdir($conn, "test");

// remove the directory "test"
FTP_rmdir($conn, "test");

?>
--------------------------------------------------------------------------------
建立一个FTP的目录通常是传输文件--- 那么就让我们开始吧!

先是上传文件,FTP_put()函数能很好的胜任这一职责,它需要你指定一个本地文件名,上传后的文件名以及传输的类型。比方说:如果你想上传“abc.txt”这个文件,上传后命名为“xyz.txt”,命令应该是这样:
--------------------------------------------------------------------------------
<?

// upload
FTP_put($conn, "xyz.txt", "abc.txt", FTP_ASCII);

?>
--------------------------------------------------------------------------------
下载文件:
PHP所提供的函数是FTP_get(),它也需要一个服务器上文件名,下载后的文件名,以及传输类型作为参数,例如:服务器端文件为his.zip,你想下载至本地机,并命名为hers.zip,命令如下:
--------------------------------------------------------------------------------
<?

// download
FTP_get($conn, "hers.zip", "his.zip", FTP_BINARY);

?>
--------------------------------------------------------------------------------
PHP定义了两种模式作为传输模式 FTP_BINARY 和 FTP_ASCII ,这两种模式的使用请看上两例,至于其详细解释,本文也不多说了,具体请参看相关书籍。




我该怎样列示文件呢?(用DIR? :) )
PHP提供两种方法:一种是简单列示文件名和目录,另一种就是详细的列示文件的大小,权限,创立时间等信息。
第一种使用FTP_nlist()函数,第二种用FTP_rawlist().两种函数都需要一个目录名做为参数,都返回目录列做为一个数组,数组的每一个元素相当于列表的一行。
--------------------------------------------------------------------------------
<?

// obtain file listing
$filelist = FTP_nlist($conn, ".");

?>
--------------------------------------------------------------------------------
你一定想知道文件的大小吧!别急,这里有一个非常容易的函数FTP_size(),它返回你所指定的文件的大小,使用BITES作为单位。要指出的是,如果它返回的是 “-1”的话,意味着这是一个目录,在随后的例子中,你将会看到这一功能的应用。
--------------------------------------------------------------------------------
<?

// obtain file size of file "data.zip"
$filelist = FTP_size($conn, "data.zip");

?> <script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击