zoukankan      html  css  js  c++  java
  • ftp 传文件完整代码(二)

    一、数据库查询数据 根据要求生成文件

        

    /**
         * 根据$date参数,生成账单文件名。
         *
         * @param DateTime $date 日期。
         *
         * @return string
         */
        protected function _billFileName($date)
        {
            # 账单文件名规范:DZ+[渠道ID]+[八位日期 YYYYMMDD],渠道代码由BOSS系统提供。例如:DZ800020110916
            return sprintf('DGDZ%s%s', $this->appId, date('Ymd', strtotime($date)));
        }
    
    
        /**
         * 根据$fileName参数,生成路径。
         *
         * @param string $fileName 文件名。
         *
         * @return string
         */
        protected function _billRealFileName($fileName)
        {
             return SKIHAT_PATH_APP_MODULES . '/docs/' . $fileName;
            //return SKIHAT_PATH_APP_PUBLICS . '/youjia/' . $fileName;
        }

    二 、上传ftp  

    /**
         * @const string 渠道代码
         */
        public $appId = 'test00000096868';
    
        /**
         * @const string ftp密码
         */
        public $ftpUser = 'ftp://172.16.84.26/';
    
        /**
         * @const string ftp密码
         */
        public $ftpPWD = 'yjpt:yjpt2018.';
      
         /**
         * 将$fileName参数,将指定的对账文件上传到FTP地址。
         *
         * @param string $fileName 文件名。
         *
         * @return bool
         */
        public function uploadComboBillFile($fileName)
        {
            # 获取真实文件名。
            $realFile = $this->_billRealFileName($fileName);
    
            if (is_file($realFile) == false) {
                return $this->error($this->errorBillFile);
            }
    
            $fileRes = fopen($realFile, 'r');
    
            if ($fileRes == false) {
                return $this->error($this->errorBillFile);
            }
    
            # 使用curl上传文件到FTP目录。
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $this->ftpUser . $fileName);
            curl_setopt($curl, CURLOPT_HEADER, 0);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    
            # 设置超时时间
            curl_setopt($curl, CURLOPT_TIMEOUT, 300);
            curl_setopt($curl, CURLOPT_USERPWD, $this->ftpPWD);
    
            # 设置上传参数。
            curl_setopt($curl, CURLOPT_UPLOAD, 1);
            curl_setopt($curl, CURLOPT_INFILE, $fileRes);
            curl_setopt($curl, CURLOPT_INFILESIZE, filesize($realFile));
    
            # 执行上传业务
            $rtn = curl_exec($curl);
            $error = curl_error($curl);
    
            fclose($fileRes);
            curl_close($curl);
            return $error ? $this->error($error) : true;
        }
  • 相关阅读:
    Reverse Integer
    Same Tree
    BST(Binary Search Tree)
    Maximum Depth of Binary Tree
    Single Number
    Computer System Basic Concept(2)
    破解企业QQ对个人QQ登陆的限制(原创)
    鸟哥的Linux私房菜.基础学习篇(摘要)(持续更新)
    Linux系列书籍
    【总结】关于彩虹表学习阶段性总结
  • 原文地址:https://www.cnblogs.com/sanqiyi/p/9591381.html
Copyright © 2011-2022 走看看