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 相关文章推荐
php中cookie的作用域
Mar 27 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
discuz的php防止sql注入函数
Jan 17 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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
实现树状结构的两种方法
2006/10/09 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
php时区转换转换函数
2014/01/07 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
简单理解Python中的装饰器
2015/07/31 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
python实现动态创建类的方法分析
2019/06/25 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
小学敬老月活动方案
2014/02/11 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
高中美术教学反思
2016/02/17 职场文书
MySQL锁机制
2021/04/05 MySQL
Redis 哨兵机制及配置实现
2022/03/25 Redis
Python matplotlib多个子图绘制整合
2022/04/13 Python