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 相关文章推荐
Phpbean路由转发的php代码
Jan 10 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
PHP队列用法实例
Nov 05 PHP
浅析php创建者模式
Nov 25 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
PHP浮点数精度问题汇总
May 13 PHP
composer.lock文件的作用
Feb 03 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 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
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
简单理解Python中的装饰器
2015/07/31 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python线程中的同步问题及解决方法
2019/08/29 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
自荐信范文
2013/12/10 职场文书
职业生涯规划书的格式
2013/12/29 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
介绍信样本
2015/01/31 职场文书
《天使的翅膀》读后感3篇
2019/12/20 职场文书
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS