/** * 作用:FTP操作类( 拷贝、移动、删除文件/创建目录 ) */ 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连接 ******************************************************************************/ ?>
相关推荐
php文件操作类,进行 新建/删除/写入/查找目录文件/删除文件&目录等一系列的操作,功能强大!
在PHP编程中,FTP(File Transfer Protocol)操作是常见的任务之一,主要用于远程文件系统的交互,例如上传、下载、移动、拷贝以及删除文件等。这个"php ftp操作类.zip"文件提供了一个专为PHP设计的FTP操作类,使得...
5. **创建、删除文件和目录**:创建文件通常涉及上传一个空文件,而删除则通常涉及`Method`设置为`WebRequestMethods.Ftp.DeleteFile`。创建和删除目录则需要`Method`分别为`WebRequestMethods.Ftp.MakeDirectory`和...
标题中的“FTP文件拷贝(边拷贝边删除)”指的是一个功能强大的FTP文件传输程序,它不仅能够将FTP服务器上的文件下载到本地,而且在拷贝过程中还支持自动删除源文件,这在需要释放远程存储空间或者确保文件一次性转移...
在Delphi编程环境中,IDFTP组件是用于执行FTP(File Transfer Protocol)操作的强大工具,它提供了丰富的功能,包括上传、下载、重命名以及删除FTP服务器上的文件和目录。本篇文章将详细阐述如何利用IDFTP组件在...
首先得搭建一个FTP服务器,然后若想对服务器或本地文件进行FTP上传、下载、创建目录、重命名、删除文件操作,则本文档中的方法将会对你起到一定的作用。
如果遇到文件已存在的情况,可以先用`ftp_delete`删除旧文件,再上传新文件。 总结起来,PHP远程上传文件到FTP涉及的主要知识点有:FTP扩展的使用、FTP连接和登录、文件传输模式设置、文件上传及错误处理。理解这些...
首先,Java中的FTP操作通常依赖于`org.apache.commons.net.ftp`库,这个库提供了FTPClient类,它包含了连接、登录、上传、下载等所有FTP操作所需的方法。你需要在项目中引入Apache Commons Net库,可以通过Maven或...
本文主要介绍了如何利用PHP语言操作FTP服务器,包括上传、下载、移动文件以及创建目录等常见功能。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务,广泛应用于互联网的数据交换。 #...
c# 操作FTP文件类,代码实现了从ftp服务器下载文件的功能
这个类库可以帮助开发者更方便、高效地进行读取、写入、创建、删除和移动文件等任务,而无需直接调用PHP的内置文件函数。下面,我们将深入探讨PHP中的文件操作及其相关概念。 1. **文件操作基础** - **打开和关闭...
QFtp是QT库的一部分,提供了丰富的API,可以方便地进行FTP会话管理、文件上传、下载以及目录浏览等一系列操作。 首先,让我们了解FTP的基本概念。FTP是一种在Internet上用于文件传输的标准协议,它允许用户从远程...
通过FTP,我们可以实现文件的上传、下载以及删除等操作。这里,我们主要探讨如何使用Java实现这些功能,结合提供的源码,我们可以看到一些关键知识点: 1. **FTP连接**: 首先,我们需要建立一个到FTP服务器的连接...
【delphi阿里云对象存储OSS】支持 获取Bucket列表、设置Bucket权限)、创建Bucket、删除Bucket、获取文件列表、上传文件、下载文件、删除文件、读取文件、判断文件是否存在、创建目录、删除目录等功能。api接口文档...
IOUtil则在整个过程中提供辅助的I/O操作,例如读取或写入本地文件,以及在FTP上传过程中创建临时文件或处理流。 这个流程涉及到的技能包括文件操作、流的管理和控制、网络编程(FTP协议)、数据格式处理(CSV)以及...
C#文件和目录操作类 主要包含文件操作类和目录操作类两个类方法
FTP递归下载是指从FTP服务器上获取目录及其所有子目录中的所有文件和子目录的过程。这通常通过FTP客户端软件实现,如`lftp`或`WinSCP`,它们支持递归模式来下载整个目录结构。在Python中,可以使用`ftplib`模块实现...
本篇文章将深入探讨如何在Visual Studio 2008(VS2008)环境中,结合QT 4.7.0框架,利用libcurl实现FTP客户端的功能,进行文件上传操作。 首先,我们需要理解libcurl的基本概念。libcurl是一个C语言编写的库,它为...
FTP允许用户进行文件的上传、下载、删除等操作。在C#中,我们可以使用`System.Net.FtpWebRequest`和`System.Net.FtpWebResponse`类来与FTP服务器交互。下面是一个简单的FTP连接和上传文件的步骤: 1. **建立FTP连接...