/*↓↓↓↓ add upload ftp file 2014-03-16*/
        /*↓↓↓↓ add 2014-03-16 ftp upload file*/
    var $ftpserver;
      var $ftpusername;
      var $ftpuserpass;
      var $ftpUrl;
    /*↑↑↑↑ add 2014-03-16 ftp upload file*/
    function uploadFtpFile($localfile,$safe_filename){
        $ftp_server = $this->ftpserver;//"hth866.eicp.net";
        $port=21;
        $timeout=30;
        $ftp_user_name =$this->ftpusername;//"tjx";
        $ftp_user_pass =$this->ftpuserpass;//"123";
        $ftp_Url=$this->ftpUrl;
        $conn_id = ftp_connect($ftp_server,$port,$timeout);// or die("Couldn't connect to $ftp_server");
        if($conn_id){
            $login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);
            if($login_result){
                $file = $localfile;//'D:/xampp/htdocs/helpdesk/Teap-sheet1测试.xls';
                $remote_file =$ftp_Url.'/'.$safe_filename;
                if (ftp_put($conn_id,$remote_file,$file, FTP_BINARY)) {
                    $result = true;
                } else {
                    $result = false;
                }
                ftp_close($conn_id);
              }else{$result=false;}
          }else{$result=false;}
        return $result;
    }
        /*↓↓↓↓ 添加并注释 2014-03-17*/
//    function downFtpFile($filename){
//        $ftp_server = "122.96.28.77 ";
//        $port=21;
//        $timeout=30;
//        $ftp_user_name ="tjx"; //"zfy";
//        $ftp_user_pass ="123"; //"zhangfangyong,./";
//        $conn_id = ftp_connect($ftp_server,$port,$timeout) or die("Couldn't connect to $ftp_server");
//        $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
//        $filename="D:/xampp/htdocs/helpdesk/Teap-sheet12.xls";
//        $web_filename="Teap-sheet1.xls";
//        if(ftp_get($conn_id,$filename,$web_filename,FTP_ASCII)){
//             echo "下载成功\n";
//        }else{
//                 echo "下载失败\n";
//        }
//        ftp_close($conn_id);    
//    }
                /*↑↑↑↑ 添加并注释 2014-03-17*/
        /*↑↑↑↑ add upload ftp file 2014-03-16*/

/*add 2014-03-17 only delete runinformation'file*/
    function deleteRuninfoFile($filename) {
            $file=$this->attachmentsDir."/$filename";
            unlink($file);
            //return true;
        }  
    /* add 2014-03-17 only delete runinformation'file*/

/**
     * @author zhanglingzhi
     * 上传文件
     */
    function uploadfile($upFile) {
        $maxsize = $this->getSetting('attachment_max_size'); //读取/admin/config.php配置中的attachment_max_size
        if ($maxsize) {
            $MAXIMUM_FILESIZE = $maxsize;
        } else {
            $MAXIMUM_FILESIZE = 5 * 1024 * 1024;
        }
        $possibles = $this->getSetting('attachment_types_allowed'); //读取/admin/config.php配置中的attachment_types_allowed
        if (!empty($possibles)) {
            $possibles = explode(",", $possibles);
            $filetype_string = join("|", $possibles);
            $rEFileTypes = "/^\.(" . $filetype_string . "){1}$/i";
        } else {
            $rEFileTypes = "/^\.(zip|rar|jpg|jpeg|gif|png|doc|docx|txt|rtf|pdf|xls|xlsx|ppt|pptx){1}$/i"; //如果没有设置则使用默认值
        }
        $dir_base = $this->attachmentsDir;
        $isFile = is_uploaded_file($upFile['tmp_name']);
        if ($isFile) {
            $arrTemp = explode(".", $upFile['name']);
            $filename_sever = date("his") . rand(100, 999);
            $filename_sever .= "." . $arrTemp[count($arrTemp) - 1];
            $safe_filename = $filename_sever;
            /* 存储上传图片的路径 */
            if ($upFile['size'] <= $MAXIMUM_FILESIZE && preg_match($rEFileTypes, strrchr($safe_filename, '.'))) {
                // 2014-03-13 注释掉 并修改方法
                $isMove = move_uploaded_file($upFile['tmp_name'], $dir_base . "/" . $safe_filename);       
               // echo $upFile['tmp_name']."*******".$dir_base . "/" . $safe_filename; exit;
                if ($isMove) {
                     //$isBackupMove=$this->uploadFtpFile($dir_base . "/" . $safe_filename,$safe_filename);
                    // if($isBackupMove){
                          $result = $safe_filename;
                      //}
//                      else{
//                          $this->deleteRuninfoFile($safe_filename);
//                          $result=FALSE;
//                          //备份服务器文件上传失败
//                      }
                    //上传成功
                } else {
                    $result = FALSE;
                    //上传失败
                }
            } else {
                $result = FALSE;
                //文件过大,或者文件类型不允许上传
            }
        } else {
            $result = FALSE;
            //没有上传文件
        }
        return $result;
    }

FTP上传 -首先上传文件到的那台电脑得安装ftp的更多相关文章

  1. Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号

    1.架构 C/S架构(鼻祖) C:client  客户端 S:server  服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...

  2. socket实现两台FTP服务器指定目录下的文件转移(不依赖第三方jar包)

    通过socket实现两台FTP服务器指定目录下的文件转移,其中包含了基础了ftp文件列表显示.上传和下载.这里仅供学习用,需掌握的点有socket.ftp命令.文件流读取转换等 完整代码如下: Ftp ...

  3. 未能同步 iPhone XXX,因为这台电脑不再被授权使用在此iPhone上购买的项目。

    打包生成的ipa文件,安装到手机上,p12和ppf证书都正确,手机的udid也正确.用itunes安装到手机报错. 未能同步 iPhone XXX,因为这台电脑不再被授权使用在此iPhone上购买的项 ...

  4. 怎么在一台电脑上安装win7与centos7双系统

    对于用习惯windows系统的小伙伴们来说,好像Linux系统的命令操作感觉会比较神秘,进而有部分小伙伴就想说也学一学LInux操作系统.但是苦于资源的问题--就一台计算机,一块硬盘,担心说如果安装了 ...

  5. 一台电脑上配置多个git的ssh key

    前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的个人账号上已经添加过这个密钥了,公司分配的账号就不能再添加这 ...

  6. Jenkins通过FTP上传站点太多文件导致太慢且不稳定,切换为压包上传再解压的思路(asp.net)

    在本地先处理好要上传的站点文件之后,可能会因为一些网页切图导致ftp上传不稳定,中断,或者文件占用的问题. 那么换了一种实现思路,要借助jenkins的工具jenkins-cli.jar. 解决思路: ...

  7. 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...

  8. 20160113006 asp.net实现ftp上传代码(解决大文件上传问题)

    using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using S ...

  9. 创建FTP的Site并用C#进行文件的上传下载

    创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...

随机推荐

  1. Android | 教你如何使用HwCameraKit接入相机人像模式

    目录 介绍 简介 关于本次CodeLab 你将建立什么 你会学到什么 你需要什么 申请Camera相关权限 集成HwCameraKit开放能力 步骤1 模式创建:获取CameraKit实例,创建人像模 ...

  2. 在线教育项目-day05【课程分类管理-添加课程分类】

    1.引入依赖 之前测试EasyExcel已经引入过了 2.利用代码生成器生成结构 我们做的只需要更改代码生成器的数据库表即可 3.运行代码生成器 4.书写代码 1.controller @RestCo ...

  3. RxJava--Buffer,GroupBy 对比

    Buffer 设定收集n个元素为一组,以下方代码为例,三个为一组,则当组满三个元素时,返回一次List数据 没组满三个元素时,如果调用onComplete,直接发送剩余元素,没调用onComplete ...

  4. POJ2155/LNSYOJ113 Matrix【二维树状数组+差分】【做题报告】

    这道题是一个二维树状数组,思路十分神奇,其实还是挺水的 题目描述 给定一个N∗NN∗N的矩阵AA,其中矩阵中的元素只有0或者1,其中A[i,j]A[i,j]表示矩阵的第i行和第j列(1≤i,j≤N)( ...

  5. Unity(GameObject)

    ####1. 这个方法用于发送一个数据到指定的方法中,第三个参数是是否强制接收 以下三种方法发送消息的形式,各有不同的效果,可以通过第一个参数指定要发送的方法名名,第二个是发送的参数值,第三个参数是是 ...

  6. WordPress发布文章/页面时自动添加默认的自定义字段

    如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段.将下面的代码添加到当前主题的 functions.php 即可: 1 2 3 ...

  7. PHP字符串全排列算法

    <?php /** * PHP字符串全排列算法 */ $results = []; $arr = []; function bfs($start) { global $arr; global $ ...

  8. 解决vue中BMap未定义问题

    原文链接: 点我 最近在项目中使用了百度地图来显示物流信息,实现方式有两种: 引用Vue Baidu Map引用BMap存在的问题:\color{red}{存在的问题:}存在的问题::使用BMap可以 ...

  9. C语言编程入门题目--No.12

    题目:判断101-200之间有多少个素数,并输出所有素数. 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数. 2.程序源代码: # ...

  10. 题解 CF1286A 【Garland】

    updata on 2020.3.19 往博客园搬的时候看了看自己以前写的blog 其实没多久,才两个多月,感觉自己之前写的东西好罗嗦啊.. 但也是最近写的blog才开始多起来 当然现在也没好到哪去. ...