ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例_第1頁
ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例_第2頁
ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例_第3頁
ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例_第4頁
ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第ThinkPHP框架實現(xiàn)FTP圖片上傳功能示例本文實例講述了ThinkPHP框架實現(xiàn)FTP圖片上傳功能。分享給大家供大家參考,具體如下:

背景:

圖片上傳功能應(yīng)該是個極為普遍的,在此參考了ThinkPHP框架中的集成方法整理了一下FTP圖片的上傳功能,這樣方便在后臺操作時,把有關(guān)的圖片直接上傳到線上的圖片服務(wù)器,避免大流量訪問的圖片加載緩慢,降低網(wǎng)站的訪問壓力,不合理之處,敬請指摘...

操作:

1.前端設(shè)計

這里主要為了測試功能的實現(xiàn),使用最簡單的設(shè)計,既方便參考又有利于后期的功能擴展。如下附upload.html主要代碼,著重注意紅框圈出的代碼,其中css樣式比較簡單,需要的可以參考后面的源代碼。

2.后臺控制器設(shè)計

config.class.php主要代碼如下所示,其中設(shè)計的表“conf”在此只需用兩個字段就好——'tag','value',可以使用簡單的varchar類型。

publicfunctionupload(){

if(IS_POST){

foreach($_FILESas$key=$value){

$img=handleImg($key);

$furl=C('REMOTE_ROOT').$img;

if($img){

ftp_upload($furl,$img);

$saveData['value']=$img;

M('conf')

-where("tag='".$key."'")

-save($saveData);

$this-success('FTP測試完成',U('Config/upload'),2);

}else{

$imgUrl=M('conf')

-where("tag='upImg'")

-getField('value');

$this-assign('imgUrl',$imgUrl);

$this-display();

3.配置數(shù)據(jù)

在公共配置文件中,進行如下常量的數(shù)據(jù)配置,參考代碼如下,注意配置FTP賬號及密碼的正確性,此處安全起見只是舉例。

//ftp(外網(wǎng)服務(wù)器)上傳文件相關(guān)參數(shù)

'FTP_SEVER'='',//此地址,作為圖片讀取的位置請上線前仔細確認

'FTP_HOST'='',

'WEB_SEVER'='',

'WEB_M_SERVER'='/m',

'FTP_NAME'='fexxxi',//ftp帳戶

'FTP_PWD'='1qxxxxxxw',//ftp密碼

'FTP_PORT'='21',//ftp端口,默認為21

'FTP_PASV'=true,//是否開啟被動模式,true開啟,默認不開啟

'FTP_SSL'=false,//ssl連接,默認不開啟

'FTP_TIMEOUT'=60,//超時時間,默認60,單位s

'REMOTE_ROOT'='/',//圖片服務(wù)器根目錄

4.引入文件

以我的代碼為例,在此引用了兩個文件,其中的FTP.class.php放在了'/Library/Think'目錄下;Upload.class.php放在了'/Library/Org/Net'目錄下,可根據(jù)自己的使用習(xí)慣自行調(diào)整目錄,只要保證實例化路徑時沒問題就可。

5.公共函數(shù)添加

注意添加上文步驟2中使用到的公共函數(shù)。

*圖片上傳的公共處理方法

*@paramstring$fileName圖片上傳的name

*@returnstring圖片的存儲路徑

functionhandleImg($fileName){

if($_FILES[$fileName]['tmp_name']!=""){

$img=$_FILES[$fileName];

$imgUrl=__ROOT__."/public";

$upload=new\Org\Net\Upload($img,$imgUrl);

return$upload-main();

//FTP上傳文件函數(shù)

functionftp_upload($remotefile,$localfile){

$ftp=new\Think\Ftp();

$data['server']=C('FTP_HOST');

$data['username']=C('FTP_NAME');//ftp帳戶

$data['password']=C('FTP_PWD');//ftp密碼

$data['port']=C('FTP_PORT');//ftp端口,默認為21

$data['pasv']=C('FTP_PASV');//是否開啟被動模式,true開啟,默認不開啟

$data['ssl']=C('FTP_SSL');//ssl連接,默認不開啟

$data['timeout']=C('FTP_TIMEOUT');//超時時間,默認60,單位s

$info=$ftp-start($data);

if($info){

if($ftp-put($remotefile,$localfile)){}

$ftp-close();

6.操作截圖

7.提示

對于這份參考代碼,涉及到的公共方法handleImg()會先將需要上傳的圖片傳到當前操作的網(wǎng)站根目錄,之后又會通過ftp_upload()將圖片傳到對應(yīng)的圖片F(xiàn)TP服務(wù)器,從實現(xiàn)步驟上看第一步多余,主要是開發(fā)過程中的測試服務(wù)器不符合FTP賬號要求,同時又要方便線上內(nèi)容修改的及時更新,暫沒優(yōu)化,也不麻煩,算留大家一個自由發(fā)揮的機會吧。

源代碼點擊此處本站下載。

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論