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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php中全局变量global的使用演示代码
May 18 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP技术开发微信公众平台
Jul 22 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 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 EOT定界符的使用详解
2008/09/30 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
利用json获取字符出现次数的代码
2012/03/22 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
理解javascript封装
2016/02/23 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python使用socket远程连接错误处理方法
2015/04/29 Python
python正则表达式的使用
2017/06/12 Python
用python实现百度翻译的示例代码
2018/03/09 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
简单了解python反射机制的一些知识
2019/07/13 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
SQL语言面试题
2013/08/27 面试题
手术室消毒隔离制度
2015/08/05 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js