PHP中FTP操作類代碼
文章主要介紹了php中實現FTP功能,包括上傳,拷貝,移動,刪除文件與創建目錄功能,需要的'朋友可以參考下.就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!
複製代碼 代碼如下:
<?php
/**
* 作用:FTP操作類( 拷貝、移動、刪除文件/創建目錄 )
* QQ:276624915
*/
class class_ftp
{
public $off; // 返回操作狀態(成功/失敗)
public $conn_id; // FTP連接
/**
* 方法:FTP連接
* @FTP_HOST -- FTP主機
* @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服務器連接失敗");
@ftp_login($this->conn_id,$FTP_USER,$FTP_PASS) or die("FTP服務器登陸失敗");
@ftp_pasv($this->conn_id,1); // 打開被動模擬
}
/**
* 方法:上傳文件
* @path -- 本地路徑
* @newpath -- 上傳路徑
* @type -- 若目標目錄不存在則新建
*/
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 "文件上傳失敗,請檢查權限及路徑是否正確!";
}
/**
* 方法:移動文件
* @path -- 原路徑
* @newpath -- 新路徑
* @type -- 若目標目錄不存在則新建
*/
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 "文件移動失敗,請檢查權限及原路徑是否正確!";
}
/**
* 方法:複製文件
* 說明:由於FTP無複製命令,本方法變通操作爲:下載後再上傳到新的路徑
* @path -- 原路徑
* @newpath -- 新路徑
* @type -- 若目標目錄不存在則新建
*/
function copy_file($path,$newpath,$type=true)
{
$downpath = "c:/";
$this->off = @ftp_get($this->conn_id,$downpath,$path,FTP_BINARY);// 下載
if(!$this->off) echo "文件複製失敗,請檢查權限及原路徑是否正確!";
$this->up_file($downpath,$newpath,$type);
}
/**
* 方法:刪除文件
* @path -- 路徑
*/
function del_file($path)
{
$this->off = @ftp_delete($this->conn_id,$path);
if(!$this->off) echo "文件刪除失敗,請檢查權限及路徑是否正確!";
}
/**
* 方法:生成目錄
* @path -- 路徑
*/
function dir_mkdirs($path)
{
$path_arr = explode('/',$path); // 取目錄數組
$file_name = array_pop($path_arr); // 彈出文件名
$path_p = count($path_arr); // 取層數
foreach($path_arr as $val) // 創建目錄
{
if(@ftp_chdir($this->conn_id,$val) == FALSE)
{
$tmp = @ftp_mkdir($this->conn_id,$val);
if($tmp == FALSE)
{
echo "目錄創建失敗,請檢查權限及路徑是否正確!";
exit;
}
@ftp_chdir($this->conn_id,$val);
}
}
for($i=1;$i=$path_p;$i++) // 回退到根
{
@ftp_cdup($this->conn_id);
}
}
/**
* 方法:關閉FTP連接
*/
function close()
{
@ftp_close($this->conn_id);
}
}// class class_ftp end
/************************************** 測試 ***********************************
$ftp = new class_ftp('',21,'user','pwd'); // 打開FTP連接
//$ftp->up_file('','a/b/c/'); // 上傳文件
//$ftp->move_file('a/b/c/','a/'); // 移動文件
//$ftp->copy_file('a/','a/b/'); // 複製文件
//$ftp->del_file('a/b/'); // 刪除文件
$ftp->close(); // 關閉FTP連接
*****************************************************************************/
?>
相關文章
-
php下通過僞造http頭破解防盜鏈的代碼
文章主要用於圖片,軟件等突破防盜鏈的方法,希望需要的朋友有所幫助,但不推薦這樣做,如果官方改版都是無法繼續使用的。就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!僞造referer實例代 -
php中tp驗證表單與自動填充函數代碼
php tp驗證表單與自動填充函數代碼,需要的朋友可以參考下.希望對大家有所幫助!代碼如下:<?phpclass FormModel extends Model {// 自動驗證設置/** 一:自動驗證自動驗證的定義是這樣的:array(field,rule,message,conditio -
php中ftp-chdir() ftp-cdup()函數用法
PHP 是一種 HTML 內嵌式的'語言,與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言。以下是本站小編精心爲大家整理的php中ftp_chdir() ftp_cdup()函數用法,希望對大家有所幫助!更多內容請關注 -
php中php://input和$-POST有什麼不同
php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 設置。下面是小編爲大家帶來的php中php://input和$_POST有什麼不同的知識,歡迎閱讀。 php中ph -
PHP中php://input和$-POST的區別
PHP是一門高效的網絡編程語言,由於它具有編寫靈活、運行快速等優點,迅速成爲Web程序員的首選語言。以下是小編爲大家搜索整理php中php://input和$_POST的區別,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業 -
仿照TP框架自帶的PHP驗證碼類
以下本站小編整理的.仿照TP框架自帶的PHP驗證碼類,大家自己導入字體,可以按照自己的額需要隨便修改。,更多信息請關注應屆畢業生網! <?php class Imagecode{ private $width ; private $height; priva -
asp.net 組合模式的PHP代碼
複製代碼 代碼如下:using System;using ric;using ;using ;namespace Test{class Program{static void Main(string[] args){var customer = new Customer{IsActive = true,LateFees = 100M,TotalRentNumber = 10};eL -
php sitemap文件生成器代碼
本文分享一例php生成sitemap文件的代碼,一個簡單的google sitemap文件生成器代碼,有需要的朋友參考下。就跟隨小編去了解下吧,想了解更多相關信息請 持續關注我們應屆畢業生考試網!php sitemap文件生成器例子:複製代碼 代 -
PHP生成SiteMap文件的代碼
分享一例php生成sitemap地圖文件的`代碼,用於生成google sitemap地圖,有需要的朋友參考學習下。 生成sitemap文件例子:複製代碼 代碼示例:<?php/*** 生成sitemap文件* 平常在用的一段代碼,分享給大家* edit: */require -
PHP頁面輸出時js設置input框的選中值代碼
關於php頁面輸出時js設置input框的`選中值的代碼如下所示:/* 設置表單的值 */function setValue(name, value) {var first = tr(0, 1),input, i = 0,val;if (value === "") retu;if ("#" === first || "." === first)