PHP的FTP学习(二)


Posted in PHP onOctober 09, 2006

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");

?> 

PHP 相关文章推荐
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP学习笔记之数组篇
Jun 28 PHP
PHP源码之explode使用说明
Aug 05 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
php删除左端与右端空格的方法
Nov 29 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
Oct 20 PHP
实例简介PHP的一些高级面向对象编程的特性
Nov 27 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
杏林同学录(四)
Oct 09 #PHP
PHP的FTP学习(一)
Oct 09 #PHP
PHP VS ASP
Oct 09 #PHP
用PHP来写记数器(详细介绍)
Oct 09 #PHP
杏林同学录(三)
Oct 09 #PHP
福利彩票幸运号码自动生成器
Oct 09 #PHP
一个用php3编写的简单计数器
Oct 09 #PHP
You might like
基于mysql的论坛(6)
2006/10/09 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
详解React 元素渲染
2020/07/07 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python中的with...as用法介绍
2015/05/28 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python for循环及基础用法详解
2019/11/08 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
推荐信格式范文
2014/05/09 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL