PHP中FTP操作類代碼
文章主要介紹了php中實(shí)現(xiàn)FTP功能,包括上傳,拷貝,移動(dòng),刪除文件與創(chuàng)建目錄功能,需要的朋友可以參考下.就跟隨百分網(wǎng)小編一起去了解下吧,想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
復(fù)制代碼 代碼如下:
<?php
/**
* 作用:FTP操作類( 拷貝、移動(dòng)、刪除文件/創(chuàng)建目錄 )
* QQ:276624915
*/
class class_ftp
{
public $off; /pic/失敗)
public $conn_id; /pic/p>
/**
* 方法:FTP連接
* @FTP_HOST -- FTP主機(jī)
* @FTP_PORT -- 端口
* @FTP_USER -- 用戶名
* @FTP_PASS -- 密碼
*/
function __construct($FTP_HOST,$FTP_PORT,$FTP_USER,$FTP_PASS)
{
$this->conn_id = @ftp_connect($FTP_HOST,$FTP_PORT) or die("FTP服務(wù)器連接失敗");
@ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服務(wù)器登陸失敗");
@ftp_pasv($this->conn_id,1); /pic/p>
}
/**
* 方法:上傳文件
* @path -- 本地路徑
* @newpath -- 上傳路徑
* @type -- 若目標(biāo)目錄不存在則新建
*/
function up_file($path,$newpath,$type=true)
{
if($type) $this->dir_mkdirs($newpath);
$this->off = @ftp_put($this->conn_id,$newpath,$path,FTP_BINARY);
if(!$this->off) echo "文件上傳失敗,請(qǐng)檢查權(quán)限及路徑是否正確!";
}
/**
* 方法:移動(dòng)文件
* @path -- 原路徑
* @newpath -- 新路徑
* @type -- 若目標(biāo)目錄不存在則新建
*/
function move_file($path,$newpath,$type=true)
{
if($type) $this->dir_mkdirs($newpath);
$this->off = @ftp_rename($this->conn_id,$path,$newpath);
if(!$this->off) echo "文件移動(dòng)失敗,請(qǐng)檢查權(quán)限及原路徑是否正確!";
}
/**
* 方法:復(fù)制文件
* 說明:由于FTP無復(fù)制命令,本方法變通操作為:下載后再上傳到新的路徑
* @path -- 原路徑
* @newpath -- 新路徑
* @type -- 若目標(biāo)目錄不存在則新建
*/
function copy_file($path,$newpath,$type=true)
{
$downpath = "c:/tmp.dat";
$this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);/pic/p>
if(!$this->off) echo "文件復(fù)制失敗,請(qǐng)檢查權(quán)限及原路徑是否正確!";
$this->up_file($downpath,$newpath,$type);
}
/**
* 方法:刪除文件
* @path -- 路徑
*/
function del_file($path)
{
$this->off = @ftp_delete($this->conn_id,$path);
if(!$this->off) echo "文件刪除失敗,請(qǐng)檢查權(quán)限及路徑是否正確!";
}
/**
* 方法:生成目錄
* @path -- 路徑
*/
function dir_mkdirs($path)
{
$path_arr = explode('/',$path); /pic/p>
$file_name = array_pop($path_arr); /pic/p>
$path_p = count($path_arr); /pic/p>
foreach($path_arr as $val) /pic/p>
{
if(@ftp_chdir($this->conn_id,$val) == FALSE)
{
$tmp = @ftp_mkdir($this->conn_id,$val);
if($tmp == FALSE)
{
echo "目錄創(chuàng)建失敗,請(qǐng)檢查權(quán)限及路徑是否正確!";
exit;
}
@ftp_chdir($this->conn_id,$val);
}
}
for($i=1;$i=$path_p;$i++) /pic/p>
{
@ftp_cdup($this->conn_id);
}
}
/**
* 方法:關(guān)閉FTP連接
*/
function close()
{
@ftp_close($this->conn_id);
}
}/pic/p>
/************************************** 測(cè)試 ***********************************
$ftp = new class_ftp('192.168.100.143',21,'user','pwd'); /pic/p>
/pic/b/c/cc.txt'); /pic/p>
/pic/b/c/cc.txt','a/cc.txt'); /pic/p>
/pic/cc.txt','a/b/dd.txt'); /pic/p>
/pic/b/dd.txt'); /pic/p>
$ftp->close(); /pic/p>
*****************************************************************************/
?>
【PHP中FTP操作類代碼】相關(guān)文章:
php分頁(yè)類代碼10-03
PHP經(jīng)典常用特效類代碼11-25
php中ftp-chdir() ftp-cdup()函數(shù)用法11-21
PHP中的Reload操作12-19
php中使用redis隊(duì)列操作實(shí)例代碼11-06
PHP 中的加密技術(shù)及代碼09-20
PHP中如何實(shí)現(xiàn)crontab代碼07-15
PHP中如何定義類及其成員屬性與操作03-06