/**
* 作用:FTP操作类( 拷贝、移动、删除文件/创建目录 )
* 时间:2006/5/9
* 作者:欣然随风
* QQ:276624915
*/
class class_ftp
{public $off; // 返回操作状态(成功/失败)public $conn_id; // FTP连接/*** 方法:FTP连接* @FTP_HOST -- FTP主机* @FTP_PORT -- 端口* @FTP_USER -- 用户名* @FTP_PASS -- 密码*/function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS){$this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP服务器连接失败");@ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服务器登陆失败");@ftp_pasv($this->conn_id,1); // 打开被动模拟}/*** 方法:上传文件* @path -- 本地路径* @newpath -- 上传路径* @type -- 若目标目录不存在则新建*/function up_file($path,$newpath,$type=true){if($type) $this->dir_mkdirs($newpath);$this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY);if(!$this->off) echo "文件上传失败,请检查权限及路径是否正确!";}/*** 方法:移动文件* @path -- 原路径* @newpath -- 新路径* @type -- 若目标目录不存在则新建*/function move_file($path,$newpath,$type=true){if($type) $this->dir_mkdirs($newpath);$this->off = @ftp_rename($this->conn_id,$path,$newpath);if(!$this->off) echo "文件移动失败,请检查权限及原路径是否正确!";}/*** 方法:复制文件* 说明:由于FTP无复制命令,本方法变通操作为:下载后再上传到新的路径* @path -- 原路径* @newpath -- 新路径* @type -- 若目标目录不存在则新建*/function copy_file($path,$newpath,$type=true){$downpath = "c:/tmp.dat";$this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 下载if(!$this->off) echo "文件复制失败,请检查权限及原路径是否正确!";$this->up_file($downpath,$newpath,$type);}/*** 方法:删除文件* @path -- 路径*/function del_file($path){$this->off = @ftp_delete($this->conn_id,$path);if(!$this->off) echo "文件删除失败,请检查权限及路径是否正确!";}/*** 方法:生成目录* @path -- 路径*/function dir_mkdirs($path){$path_arr = explode('/',$path); // 取目录数组$file_name = array_pop($path_arr); // 弹出文件名$path_div = count($path_arr); // 取层数foreach($path_arr as $val) // 创建目录{if(@ftp_chdir($this->conn_id,$val) == FALSE){$tmp = @ftp_mkdir($this->conn_id,$val);if($tmp == FALSE){echo "目录创建失败,请检查权限及路径是否正确!";exit;}@ftp_chdir($this->conn_id,$val);}}for($i=1;$i=$path_div;$i++) // 回退到根{@ftp_cdup($this->conn_id);}}/*** 方法:关闭FTP连接*/function close(){@ftp_close($this->conn_id);}
}// class class_ftp end
/************************************** 测试 ***********************************
$ftp = new class_ftp('192.168.100.143',21,'user','pwd'); // 打开FTP连接
//$ftp->up_file('aa.txt','a/b/c/cc.txt'); // 上传文件
//$ftp->move_file('a/b/c/cc.txt','a/cc.txt'); // 移动文件
//$ftp->copy_file('a/cc.txt','a/b/dd.txt'); // 复制文件
//$ftp->del_file('a/b/dd.txt'); // 删除文件
$ftp->close(); // 关闭FTP连接
******************************************************************************/
?>

转载于:https://www.cnblogs.com/mayi168/p/3479671.html

PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )相关推荐

  1. C# FTP操作(上传、下载等……)

    因为工作中经常涉及到FTP文件的上传和下载,每次有这样的需求时都要重复编写相同的代码,后来干脆整理一个FTPClass,这样不仅方便自己使用,也可以共享给部门其它同事,使用时直接调用就可以了,节省了大 ...

  2. windows使用cmd连接ftp使用命令上传(put)和下载文件(mget)

    连接 中间如果连接断开了可以直接重连使用open 下载 输入"lcd 本地文件目录"(指的是你要将文件下载到的目标目录,如果不输入就是默认c盘的当前系统用户目录下) 输入" ...

  3. minio实现文件上传下载和删除功能

    前言 之前用到文件上传功能,在这里做个学习记录.使用minio实现,后面会记录使用fastdfs和阿里云的oss实现文件上传以及他们的比较(oss根据流量收费).minio的中文文档:https:// ...

  4. PHP操作FTP类 (上传下载移动创建等)

    使用PHP操作FTP-用法 <?php // 联接FTP服务器 $conn = ftp_connect(ftp.server.com); // 使用username和password登录 ftp ...

  5. VB FTP操作类(可上传、下载、创建文件夹等等)

    可实现FTP上传下载,建文件夹等功能,从网上找了一个类,对其进行修改和功能补充,正常使用,非常方便. 切记在使用FtpFindFirstFile 函数查找相应的文件或文件夹后,要使用InternetC ...

  6. [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1

    转自:http://blog.csdn.net/soarheaven/archive/2008/12/08/3474152.aspx 最近项目需要对FTP服务器进行操作,现把实现总结如下: 打算分2篇 ...

  7. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  8. php利用ftp上传视频,PHP用FTP类上传文件视频等的简单实现方法

    文件1:ftp.php<?php /** * 仿写CodeIgniter的FTP类 * FTP基本操作: * 1) 登陆; connect * 2) 当前目录文件列表; filelist * 3 ...

  9. 基于OkHttp 、Retrofit 、Volley 、RxJava、Novate多种网络框架整合的快速项目开发框架,一行代码实现Ftp文件上传、文件下载、文件删除和进度监听的工具类的使用

    基于OkHttp .Retrofit .Volley .RxJava.Novate多种网络框架整合的快速项目开发框架,Ftp文件上传.文件下载的工具类的使用. 依赖于Ftp的jar包,对上传.下载.删 ...

最新文章

  1. HTML中的转义字符 (转)
  2. MATLAB-fminsearch函数的使用
  3. c# datetime._C#| 带示例的DateTime.DayOfWeek属性
  4. Mr.J-- 简单生日页面制作
  5. mybatis注解开发_Spring Boot 中集成 MyBatis
  6. 项目中一些零碎化总结的
  7. 闲时看看, 比较有益的文章地址
  8. 计算机cad知识,计算机与Cad制图知识点.doc
  9. Excel打开csv文件乱码
  10. 腾讯面试题, 2020年,让我们愉快的赛一次马!
  11. 记录93年男孩日常消费网店收入
  12. Linux 命令xxd输出十六进制
  13. addEventListener()事件监听
  14. icloud安装错误怎么办_怎么办?iCloud云备份失败该如何解决?
  15. 自适应变异粒子群matlab,一种自适应变异粒子群优化算法的制作方法
  16. 【投稿】海思手撕代码之_RR_arbiter
  17. 支付宝服务商是做什么的?支付宝服务商怎么申请?(附图文教程)
  18. 标签如何显示药品生僻字、特殊图标?上海瀚示灯光拣选系统在智能药房的应用...
  19. Vue + editor.Md 双向数据绑定Markdown编辑器(vue-editormd-wrap)
  20. bistu新生-1005

热门文章

  1. 我的世界服务器的交易系统,我的世界村民交易系统详解_我的世界交易系统介绍_牛游戏网...
  2. python接口测试_测试大牛都会的接口测试+Python测开+Linux技能+Git命令合集!
  3. 08TensorFlow2.0基础--8.5张量运算
  4. 06Matplotlib数据可视化--6.3折线图和柱状图
  5. Softmax, DNN, WideDeep Model
  6. SQL Server索引视图以(物化视图)及索引视图与查询重写
  7. 数据:以太坊2.0合约余额新增1.28万ETH
  8. A股收盘:深证区块链50指数跌3.80%,爱迪尔等9股涨停
  9. SAP License:我们到底需要什么能力?
  10. 双马尾机器人(???)