從FTP獲取自動下載文件的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();
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!