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 相关文章推荐
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
php生成curl命令行的方法
Dec 14 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
详细解读php的命名空间(一)
Feb 21 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
JavaScript 事件对象的实现
2009/07/13 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
简单谈谈Python中的闭包
2016/11/30 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
骨干教师培训制度
2014/01/13 职场文书
质检部经理岗位职责
2014/02/19 职场文书
委托函范文
2015/01/29 职场文书
检察院起诉意见书
2015/05/20 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
golang中实现给gif、png、jpeg图片添加文字水印
2021/04/26 Golang
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS