<? 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);