`
yukar
  • 浏览: 128314 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

从FTP获取自动下载文件的PHP类

    博客分类:
  • php
阅读更多
/**
 * 从FTP获取自动下载文件的PHP类
 * @author yukar ( http://yukar.iteye.com )
 */
class FtpClass{
    private $ftpObj;
    private $ftpHost = "****";    // 服务器地址
    private $ftpPort = ****;            // 服务器端口
    private $ftpUser = "****";        // 用户名
    private $ftpPassword = "****";        // 口令
    private $localBase = '/your/save/path'; //你存放的目录
    function __construct($initData=array()){
        if (isset($initData['ftpHost']) && $initData['ftpHost']){
            $this->ftpHost = $initData['ftpHost'];
        }
        if (isset($initData['ftpPort']) && $initData['ftpPort']){
            $this->ftpPort = $initData['ftpPort'];
        }
        if (isset($initData['ftpUser']) && $initData['ftpUser']){
            $this->ftpUser = $initData['ftpUser'];
        }
        if (isset($initData['ftpPassword']) && $initData['ftpPassword']){
            $this->ftpPassword = $initData['ftpPassword'];
        }
        if (isset($initData['localBase']) && $initData['localBase']){
            $this->localBase = $initData['localBase'];
        }
    }
    
    function ftp_connect(){
        if(!$this->ftpObj){
            $this->ftpObj = ftp_connect($this->ftpHost,$this->ftpPort);    // 连接ftp服务器
            if($this->ftpObj) {
                if(ftp_login($this->ftpObj, $this->ftpUser, $this->ftpPassword)) {    // 登录
                    return true;
                }else{
                    return false;
                }
            }else {
                return false;
            }
        }
    }
    
    function ftp_download_file($fileName) {
        //获取FTP路径
        $ftpPath = dirname($fileName) . "/";  
        //获取文件名  
        $selectFile = basename($fileName);    
        // 进入指定路径
        if(@ftp_chdir($this->ftpObj,$ftpPath)) {            
            //$localBase 如果不存在,新创建目录,务必确保 有创建权限
            if(!is_dir($this->localBase)){
                mkdir($this->localBase, 0777);
            }
            $toFile = $this->localBase.$fileName;
            if(ftp_get($this->ftpObj, $toFile, $selectFile, FTP_BINARY)) {    //下载指定的FTP文件到指定的本地文件
                return true;
            }else {
                return false;
            }
        }else {
            return false;
        }
    }
    
    function ftp_quit(){
        if($this->ftpObj){
            ftp_quit($this->ftpObj);
        }
    }

}

 

调用就更简单了

$ftpObj = new FtpClass();
$ftpObj->ftp_connect();
$filename = '/config/config.sample.php';
$ftpObj->ftp_download_file($filename);
$ftpObj->ftp_quit();
exit();
0
0
分享到:
评论

相关推荐

    从FTP获取自动下载文件的php类.zip

    本资源提供了一个名为“从FTP获取自动下载文件的php类”的工具,它是一个PHP类库,可以帮助开发者方便地与FTP服务器进行交互,实现文件的自动化下载。 该PHP类的主要功能包括: 1. **连接FTP服务器**:通过提供...

    php ftp 操作类

    6. **文件权限与类型**:虽然FTP协议本身不支持文件权限设置,但类可能包含获取文件或目录信息的方法,如`ftp_nlist()`,它返回远程目录的文件列表,包括文件类型。 7. **错误处理**:类通常会包含异常处理机制,当...

    ftp.rar_ftp_文件自动上传

    FTP允许用户从远程服务器上获取文件(下载)或将文件发送到远程服务器(上传)。它基于TCP/IP协议栈,通过两个并行的连接来工作:控制连接和数据连接。控制连接用于发送命令和接收响应,而数据连接则用于实际的文件...

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

    在PHP中,FTP功能通常是通过`ftp`扩展来实现的,它提供了一系列函数,如`ftp_connect`用于建立连接,`ftp_login`用于认证,`ftp_nlist`获取目录列表,`ftp_get`和`ftp_put`用于文件上传和下载,以及`ftp_delete`用于...

    php的ftp学习

    - **下载文件**:`ftp_get()`函数用于从FTP服务器下载文件,例如`ftp_get($conn, "/local/path/file.txt", "/remote/path/file.txt", FTP_BINARY);` - **创建新目录**:`ftp_mkdir()`函数创建新目录,例如`ftp_...

    php使用ftp实现文件上传与下载功能

    此外,文档中提到的“按照日期格式目录来进行上传文件的需求”,说明了在进行FTP操作时如何根据日期自动创建目录来存放上传的文件。这是一个常见的需求,有助于组织和管理远程服务器上的文件结构。 PHP的FTP函数集...

    ftp上传、下载、删除代码.zip

    2. **命令交互**:客户端通过控制连接发送FTP命令,如`LIST`获取目录信息,`CWD`改变当前工作目录,`PUT`上传文件,`GET`下载文件,`DELE`删除文件等。 3. **数据传输**:根据命令,客户端和服务器建立数据连接,...

    IIS自动安装PHP支持

    1. **下载自动化工具**:首先,从可靠来源获取"PHPOpt4IIS.exe"或者其他类似的自动化工具,确保它是最新版本且与你的IIS版本兼容。 2. **运行安装程序**:在服务器上找到该文件,双击运行。在弹出的界面中,通常会...

    php-wget 把远程文件下载到本地服务器上。

    在PHP中,`wget`是一个非常实用的命令行工具,常用于从互联网上下载文件到本地服务器。这个工具是GNU项目的一部分,它支持HTTP、HTTPS和FTP协议,并且可以处理代理、cookies、认证等复杂场景。当我们需要在PHP脚本中...

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

    通过这些函数和类,开发者可以灵活地处理FTP服务器上的文件,实现自动化的工作流程。记得在完成所有操作后,要关闭FTP连接: ```php ftp_close($conn); ``` 在实际项目中,可能还需要处理异常,增加错误检查,以及...

    倍福资料下载网址大全.docx

    该FTP服务器包含了丰富的文档、案例分析、教程以及技术支持材料,覆盖了从基础的应用指南到高级的技术解决方案等多个方面。 #### 二、联系方式 在使用过程中遇到任何问题或有改进建议时,用户可以通过以下几种方式...

    php版自动安装

    总结,PHP自动安装涉及到多个环节,包括环境准备、源码获取与编译、配置文件设定、依赖库的检查和安装,以及数据库的设置与连接。自动化这个过程可以大大提高部署效率,减少人为错误,使得开发者能够更专注于应用...

    基于PHP的源码 net2ftp 多国语言版.zip

    - 操作简便:其用户界面直观,使得文件上传、下载、重命名、移动和删除等操作简单易行。 - 自定义设置:允许管理员自定义FTP连接参数,如超时时间、被动模式等。 - FTP协议兼容:Net2FTP支持FTP、FTPS(FTP over ...

    PHP通过CURL下载文件

    在Web开发中,有时我们需要通过脚本的方式自动下载网络上的文件,比如PDF文档、图片、文本文件等。PHP提供了多种方式来实现这一功能,其中一种非常实用的方法就是使用CURL库。CURL是一个强大的工具库,用于处理各种...

    Windows平台下自动备份文件到本地或者远端FTP服务器的解决方案.doc.doc

    在Windows平台上实现自动备份文件至本地或远端FTP服务器,我们可以采用组合方案,即使用FileZilla FTP服务器作为远程备份的接收方,以及Cobian Backup 10作为备份工具来执行自动备份任务。以下是对这两个组件的详细...

    如何用php从网站获取电视节目.docx

    总之,这个PHP脚本提供了一种自动化的方式,从网站抓取电视节目信息,通过解析HTML、下载JSON数据并将其转换为XML,以适应项目需求。这个过程涉及到网络请求、数据解析、文件操作以及时间处理等多个方面,体现了PHP...

    深入PHP FTP类的详解

    在PHP中,FTP类提供了一系列功能强大的函数,用于与FTP服务器进行交互,如文件上传、下载、目录管理等。下面我们将深入探讨PHP FTP类的使用方法及其相关知识点。 1. FTP连接: PHP使用`ftp_connect()`函数初始化与...

    利用宝塔实现夸克自动签到以获取永久存储空间

    在IT行业中,自动化任务执行是提高效率和节省时间的有效手段之一。本教程将详细介绍如何利用宝塔(BT Panel)这一流行的Linux服务器管理工具,来实现夸克(Quark)的自动签到功能,从而获得夸克提供的永久存储空间。...

    XAMPP(PHP5.6.40)

    **XAMPP** 是一个非常流行的开源开发环境套件,它包含了多个用于搭建Web服务器所需的组件,主要用于PHP、MySQL和Apache等技术的...对于那些想要下载速度更快的开发者,从CSDN这样的平台获取这个版本是一个很好的选择。

    centos7 搭建LAMP及ftp服务器完整教程

    - 下载并安装163或阿里云的YUM源配置文件,以获取更快的下载速度和更新的软件包。 - 运行`yum makecache`生成缓存,使新源生效。 - 使用`yum -y update`更新系统所有软件包。 - 如果遇到问题,如YUM锁定或HTTP...

Global site tag (gtag.js) - Google Analytics