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 相关文章推荐
dedecms系统常用术语汇总
Apr 03 PHP
php结合飞信 免费天气预报短信
May 07 PHP
Discuz 模板语句分析及知识技巧
Aug 21 PHP
比较全面的PHP数组的使用方法小结
Sep 23 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php错误、异常处理机制(补充)
May 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
Jun 23 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
php实现微信支付之企业付款
May 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获取bing每日壁纸示例分享
2014/02/25 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现图片识别汽车功能
2018/11/30 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
Python双链表原理与实现方法详解
2020/02/22 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
如何进行Linux分区优化
2016/09/13 面试题
公务员的自我鉴定
2013/10/26 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
Python Pygame实战之塔防游戏的实现
2022/03/17 Python