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简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 PHP
一文搞懂php的垃圾回收机制
Jun 18 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中的php-5.2.0配置指令详解
2008/03/27 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
php7性能提升的原因详解
2019/10/13 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
js setTimeout opener的用法示例详解
2013/10/23 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
让python json encode datetime类型
2010/12/28 Python
python根据京东商品url获取产品价格
2015/08/09 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
太太口服液广告词
2014/03/20 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
检讨书模板
2015/01/29 职场文书
特种设备安全管理制度
2015/08/06 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫