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 相关文章推荐
dedecms模板标签代码官方参考
Mar 17 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
php文件上传简单实现方法
Jan 24 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
PHP获取数组最大值下标的方法
May 12 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
PHP laravel中的多对多关系实例详解
Jun 07 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
php的单例模式及应用场景详解
Feb 27 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
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
php自动加载代码实例详解
2021/02/26 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python SQLite3简介
2018/02/22 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Python之变量类型和if判断方式
2020/05/05 Python
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
社区工作者先进事迹
2014/01/18 职场文书
学徒工职责
2014/03/06 职场文书
文明城市标语
2014/06/16 职场文书
家长会开场白和结束语
2015/05/29 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
Tomcat弱口令复现及利用
2022/05/06 Servers
Mysql中mvcc各场景理解应用
2022/08/05 MySQL