`

一个php ftp类(复制、移动、删除文件、创建目录等)

    博客分类:
  • PHP
ftp 
阅读更多
一个不错的ftp操作类,可以完成复制、移动、删除文件、创建目录等操作,有需要的朋友,可以参考下。

本文原始链接:http://www.jbxue.com/article/7669.html

1、ftp类
<?php
/**
* 作用:FTP类( 拷贝、移动、删除文件/创建目录 )
* site http://www.jbxue.com
*/
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
?>


2、调用
<?php
$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的FTP操作类( 拷贝、移动、删除文件 创建目录 ).zip

    为了方便开发者在PHP中处理FTP相关的任务,如拷贝、移动、删除文件以及创建目录,经常会使用到FTP操作类。本篇文章将深入探讨这个PHP的FTP操作类,并解释其核心功能和使用方法。 首先,FTP操作类通常包含了一系列的...

    FTP操作类( 上传、拷贝、移动、删除文件创建目录 )

    - **功能**:将FTP服务器上的一份文件移动到另一个位置。 - **代码示例**: ```php function move_file($path, $newpath, $type = true) { if ($type) $this-&gt;dir_mkdirs($newpath); // 创建目标目录 $this-&gt;off...

    php的FTP操作类( 拷贝、移动、删除文件 创建目录 )

    使用这个类,我们可以方便地执行各种FTP操作,如创建目录、上传文件等。在实际项目中,可以根据需求进一步扩展这个类,添加更多功能,如递归上传目录、检查文件是否存在等。 总结,PHP的FTP操作主要依赖于一系列...

    webFTP一个PHP写的在线FTP文件管理系统

    2. **文件管理**:提供浏览、搜索、移动、复制、重命名和删除文件及目录的功能,方便用户整理和组织FTP服务器上的资源。 3. **权限控制**:支持设置不同用户的访问权限,如读取、写入、执行等,确保数据安全。 4. ...

    ftp:异常强大的单文件ftp管理工具php类库,删除文件非常快.zip

    3. **高级文件操作**:除了基本的删除操作,类库可能还支持文件的移动、复制、重命名、创建目录和检查文件属性等。 4. **断点续传**:对于大文件,类库可能实现了断点续传功能,允许在中断后从上次停止的地方继续...

    php ftp操作类.zip

    在PHP编程中,FTP(File Transfer Protocol)操作是常见的任务之一,主要用于远程文件系统的交互,例如上传、下载、移动、拷贝以及删除文件等。这个"php ftp操作类.zip"文件提供了一个专为PHP设计的FTP操作类,使得...

    php实现通过ftp上传文件

    1. **连接FTP服务器**:使用`ftp_connect()`函数创建一个到FTP服务器的连接,需要提供FTP服务器的地址、端口号(默认为21)。 ```php $ftp = ftp_connect($config['hostname'], $config['port']); ``` 2. **登录FTP...

    php操作ftp类.zip

    针对PHP操作FTP类进行详细介绍,php实现FTP上传、FTP下载、FTP移动、FTP创建,复制文件,生成文件目录等,并附加一个操作ftp的php文件,供大家学习调用。

    PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)

    本文将详细介绍一个基于PHP编写的FTP操作类,该类包含了文件的上传、拷贝、移动、删除以及创建目录的方法。 FTP操作类的核心在于建立与FTP服务器的连接,并通过一系列的FTP命令来执行文件操作。以下是一个简单的FTP...

    最新WebFTP文件在线管理系统源码

    - 文件操作:包括新建、删除、重命名、移动、复制文件或目录。 - 文件预览:对于文本文件,可以直接在网页中预览内容。 5. **性能优化**: - 断点续传:在大文件传输时,如果网络中断,可以从上次断点继续上传或...

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

    本文主要介绍了如何利用PHP语言操作FTP服务器,包括上传、下载、移动文件以及创建目录等常见功能。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务,广泛应用于互联网的数据交换。 #...

    php web版FTP管理系统

    3. **文件管理**:包括文件的移动、重命名、复制和删除,使得用户能够方便地组织和整理FTP服务器上的文件和目录。 4. **目录操作**:创建新目录、删除现有目录以及在目录间切换,提供了类似传统FTP客户端的目录管理...

    php在线文件管理系统 webftp3.6.3 专业版

    这款专业版的系统为管理员和受限用户提供了一个直观、高效的文件操作环境,支持上传、下载、移动、复制、重命名、删除等多种文件操作功能。 在该系统中,管理员账号被设定为"admin",其默认密码是"admin888"。管理...

    php文件上传服务器指定目录实例

    `rename()`函数直接在服务器上移动文件,而`copy()`和`unlink()`则先复制文件到新位置,再删除原文件。 6. **封装成类**: - 将上述功能封装成一个PHP类,可以提高代码复用性和可维护性。类可以包含如`upload()`, ...

    PHP实现FTP客户端,开源

    - 功能:包括文件上传、下载、重命名、删除、移动、创建目录等。 - 配置:允许自定义FTP服务器设置,如端口、时间戳选项等。 - 日志和错误处理:记录操作日志,便于排查问题。 5. **学习与实践** 对于初学者,`...

    PHP开发 强大的FTP工具

    FTP(File Transfer Protocol)是互联网上用于传输文件的标准协议,它使得用户可以在不同的计算机之间移动或复制文件。"PHP开发 强大的FTP工具"这个主题意味着我们将探讨如何使用PHP来构建一个功能丰富的FTP客户端...

    PHP 文件操作函数

    在PHP编程语言中,文件操作是至关重要的一个环节,它涉及到读取、写入、创建、删除、移动和复制文件等任务。这篇博客主要探讨了PHP中的文件操作函数,通过学习这些函数,开发者可以高效地处理服务器上的文件系统。...

    一个来自Discuz开源项目里的FTP类

    总之,Discuz项目中的FTP类是实现FTP协议的一个自定义组件,它提供了与FTP服务器交互的接口,允许程序执行各种FTP操作,如上传、下载、创建目录和删除文件。了解此类的实现可以帮助我们更好地理解和扩展Discuz论坛的...

    PHP文件管理系统,可以远程管理服务器上的文件,包括上传,下载,新建,编辑,复制,粘贴,删除,远程下载等

    5. **复制与粘贴**:用户可以选择文件或目录进行复制或剪切,然后在目标位置粘贴,后台PHP代码处理实际的文件移动或复制操作。 6. **删除**:用户可以删除选定的文件或目录,系统会调用PHP的文件删除函数来执行这一...

Global site tag (gtag.js) - Google Analytics