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 相关文章推荐
smarty静态实验表明,网络上是错的~呵呵
Nov 25 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
Yii操作数据库的3种方法
Mar 11 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
php简单检测404页面的方法示例
Aug 23 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
多重?l件?合查?(二)
2006/10/09 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
javascript实现拖放效果
2015/12/16 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
vue-router单页面路由
2017/06/17 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
Python2.x与Python3.x的区别
2016/01/14 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
python中redis的安装和使用
2016/12/04 Python
python日志记录模块实例及改进
2017/02/12 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
实习生自我鉴定范文
2013/12/05 职场文书
大学生村官承诺书
2014/03/28 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
奠基仪式致辞
2015/07/30 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server