PHPFtp上传类代码

<?
class ftp {
    var $ftpUrl = '10.0.202.19';
    var $ftpUser = 'h123';
    var $ftpPass = 'h123456';
    var $ftpDir = '/www/';
    var $ftpR = ''; //R ftp资源;
    var $status = '';
    
    //R 1:成功;2:无法连接ftp;3:用户错误;
    function ftp($ftpUrl="", $ftpUser="", $ftpPass="", $ftpDir=""){
        if($ftpUrl){
            $this->ftpUrl=$ftpUrl;
        }
        if($ftpUser){
            $this->ftpUser=$ftpUser;
        }
        if($ftpPass){
            $this->ftpPass=$ftpPass;
        }
        if($ftpUrl){
            $this->ftpDir=$ftpDir;
        }
        if($this->ftpR = ftp_connect($this->ftpUrl, 21)){
            if(ftp_login($this->ftpR, $this->ftpUser, $this->ftpPass)){
                if(!empty($this->ftpDir)){
                    ftp_chdir($this->ftpR,$this->ftpDir);
                }
                ftp_pasv($this->ftpR, true);//R 启用被动模式;
                $status = 1;
            }else{
                $status = 3;
            }
        }else{
            $status = 2;
        }
    }
    
    //R 切换目录;
    function cd($dir){
        return ftp_chdir($this->ftpR, $dir);
    }
    
    //R 返回当前路劲;
    function pwd(){
        return ftp_pwd($this->ftpR);
    }
    
    //R 创建目录
    function mkdir($directory){
        return ftp_mkdir($this->ftpR,$directory);
    }
    
    //R 删除目录
    function rmdir($directory){
        return ftp_rmdir($this->ftpR,$directory);
    }
    
    //R 上传文件;
    function put($localFile, $remoteFile = ''){
        if($remoteFile == ''){
            $remoteFile = end(explode('/', $localFile));
        }
        $res = ftp_nb_put($this->ftpR, $remoteFile, $localFile, FTP_BINARY);
        while($res == FTP_MOREDATA){
            $res = ftp_nb_continue($this->ftpR);
        }
        if($res == FTP_FINISHED){
            return true;
        }elseif($res == FTP_FAILED){
            return false;
        }
    }
    
    //R 下载文件;
    function get($remoteFile, $localFile = ''){
        if($localFile == ''){
            $localFile = end(explode('/', $remoteFile));
        }
        if(ftp_get($this->ftpR, $localFile, $remoteFile, FTP_BINARY)){
            $flag = true;
        }else{
            $flag = false;
        }
        return $flag;
    }
    
    //R 文件大小;
    function size($file){
        return ftp_size($this->ftpR, $file);
    }
    
    //R 文件是否存在;
    function isFile($file){
        if ($this->size($file) >= 0){
            return true;
        }else{
            return false;
        }
    }
    
    //R 文件时间
    function fileTime($file){
        return ftp_mdtm($this->ftpR, $file);
    }
    
    //R 删除文件;
    function deleteFile($file){
        return ftp_delete($this->ftpR, $file);
    }
    
    function nlist($dir = '/service/resource/'){
        return ftp_nlist($this->ftpR, $dir);
    }
    
    //R 关闭连接;
    function closeFTP(){
        return ftp_close($this->ftpR);
    }
}
?>

 调用代码

$ftp_server = "*.*.*.*";
$ftp_user = "lu";
$ftp_pass = "love you";
// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
if ((!$conn_id) || (!$login_result)) { 
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
        exit; 
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }
// try to login
 $filename=date('Ymd').".xml";
 $source_file="/usr/local/IVR/sendwireless/xml/data/".$filename;  //源地址
 echo $source_file;
 $destination_file="/ITC/admin/logstat/ftplog/".$filename;  //目标地址
 $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server"); 
 ftp_quit($conn_id);
 if (!$upload) { 
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }
ftp_close($conn_id);

 

posted @ 2014-05-13 08:48  流浪在阿尔卑斯的野狼  阅读(286)  评论(0编辑  收藏  举报