/** * 作用: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连接 ******************************************************************************/ ?>
相关推荐
为了方便地执行FTP操作,PHP提供了一系列内置的FTP函数,允许开发者编写FTP操作类,实现文件的上传、下载、拷贝、移动、删除以及目录的创建等功能。本篇文章将详细介绍如何利用PHP实现这些操作,并探讨一个FTP操作类...
php文件操作类,进行 新建/删除/写入/查找目录文件/删除文件&目录等一系列的操作,功能强大!
一个关于文件操作的静态工具类 实现手机SD卡目录或文件的拷贝 移动 删除 递归 Demo中有详细注释 在进行Demo测试时 建议先把测试的文件备份一下在测试 否则删除就找不回了 具体可见我博客...实现手机SD卡目录或文件的...
本文将详细解析如何使用VB.NET实现FTP的各种操作,包括创建目录、删除文件、查询文件列表、下载文件以及上传文件,并提供相关的源码案例。 首先,我们需要引入一个支持FTP操作的库,通常我们会选择`System.Net....
本篇将详细介绍如何使用C#进行FTP操作,包括上传文件、下载文件、在服务器上创建文件夹以及删除服务器上的文件。 首先,进行FTP操作需要使用到System.Net命名空间中的FtpWebRequest和FtpWebResponse类。以下是一些...
9. **列出/etc目录文件目录倒数第2个字符为.的文件和目录信息**:使用`ls -ld /etc/*.[!.]*`。 10. **将当前目录下的文件信息全部存储到list.txt文件中**:使用`ls -l > list.txt`。 11. **将根目录下的文件信息...
标题中的“FTP文件拷贝(边拷贝边删除)”指的是一个功能强大的FTP文件传输程序,它不仅能够将FTP服务器上的文件下载到本地,而且在拷贝过程中还支持自动删除源文件,这在需要释放远程存储空间或者确保文件一次性转移...
在本文中,我们将深入探讨如何使用WinForm应用程序实现FTP(File Transfer Protocol)的基本操作,包括文件的上传、下载和删除。WinForm是.NET框架中用于创建桌面应用的用户界面组件,而FTP则是一种广泛用于互联网上...
在Delphi编程环境中,IDFTP组件是用于执行FTP(File Transfer Protocol)操作的强大工具,它提供了丰富的功能,包括上传、下载、重命名以及删除FTP服务器上的文件和目录。本篇文章将详细阐述如何利用IDFTP组件在...
如果遇到文件已存在的情况,可以先用`ftp_delete`删除旧文件,再上传新文件。 总结起来,PHP远程上传文件到FTP涉及的主要知识点有:FTP扩展的使用、FTP连接和登录、文件传输模式设置、文件上传及错误处理。理解这些...
- **拷贝文件/目录**:调用`boolean rename(Path src, Path dst)`,实现文件或目录的重命名(相当于拷贝并删除源文件)。 - **获取文件属性**:使用`FileStatus getFileStatus(Path f)`获取文件或目录的元数据信息。...
本文主要介绍了如何利用PHP语言操作FTP服务器,包括上传、下载、移动文件以及创建目录等常见功能。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务,广泛应用于互联网的数据交换。 #...
### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...
c# 操作FTP文件类,代码实现了从ftp服务器下载文件的功能
这个类库可以帮助开发者更方便、高效地进行读取、写入、创建、删除和移动文件等任务,而无需直接调用PHP的内置文件函数。下面,我们将深入探讨PHP中的文件操作及其相关概念。 1. **文件操作基础** - **打开和关闭...
首先,我们需要创建一个`FileSystemWatcher`实例并设置其属性,如`Path`(要监视的目录路径)、`Filter`(要监视的文件类型)和`NotifyFilter`(要监视的事件类型,如文件创建、修改、删除等)。例如: ```csharp ...
在IT行业中,文件传输是日常...总之,上传本地文件夹的文件到FTP服务器指定目录是一个涉及FTP协议、C#编程和文件系统操作的综合任务。通过理解这些知识点,结合实际项目需求,可以创建一个高效且安全的文件上传工具。
实现向FTP下载文件和上传文件等功能。 由于不是本人所写,因此3积分。