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 相关文章推荐
简单易用的计数器(数据库)
Oct 09 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
laravel安装和配置教程
Oct 29 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP与以太坊交互详解
Aug 24 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 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
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
UCenter Home二次开发指南
2009/05/28 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
php实现记事本案例
2020/10/20 PHP
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
Python跳出循环语句continue与break的区别
2014/08/25 Python
简析Python的闭包和装饰器
2016/02/26 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
Python实现最大子序和的方法示例
2019/07/05 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
交通事故协议书
2014/04/15 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
管理人员岗位职责
2015/02/14 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis