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 时间计算问题小结
Jan 04 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
php利用反射实现插件机制的方法
Mar 14 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
PHP网络操作函数汇总
May 18 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
php socket通信简单实现
Nov 18 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP实现统计代码行数小工具
Sep 19 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常用函数和常见疑难问题解答
2014/03/05 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
Python解析json文件相关知识学习
2016/03/01 Python
Python 多进程和数据传递的理解
2017/10/09 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
C++程序员求职信
2014/05/07 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python