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实现网站插件机制的方法
Nov 10 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
PHP常用技巧总结(附函数代码)
Feb 04 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
Yii多表联合查询操作详解
Jun 02 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
基于PHP实现栈数据结构和括号匹配算法示例
Aug 10 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 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
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
jquery中动态效果小结
2010/12/16 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
ES6学习教程之对象字面量详解
2017/10/09 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
Python与Redis的连接教程
2015/04/22 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
python 并发下载器实现方法示例
2019/11/22 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
大专自我鉴定范文
2013/10/01 职场文书
员工培训心得体会
2013/12/30 职场文书
2015年读书月活动总结
2015/03/26 职场文书
小学德育工作总结2015
2015/05/12 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
MySQL数据库表约束讲解
2022/06/21 MySQL