婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例

ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例

熱門標(biāo)簽:阿里云400電話申請加工單 抖音有個(gè)地圖標(biāo)注是什么意思 保定crm外呼系統(tǒng)運(yùn)營商 九江外呼系統(tǒng) 七魚外呼系統(tǒng)停用嗎 海南人工外呼系統(tǒng)有效果嗎 智能電話機(jī)器人排名前十名南京 地下城堡2圖九地圖標(biāo)注 西區(qū)企業(yè)怎么做地圖標(biāo)注入駐

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

背景:

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

操作:

1.前端設(shè)計(jì)

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

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

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

public function upload(){
  if (IS_POST){
    foreach ($_FILES as $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ù)

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

//ftp(外網(wǎng)服務(wù)器)上傳文件相關(guān)參數(shù)
'FTP_SEVER'    => 'http://img.52zhenmi.com', //此地址,作為圖片讀取的位置 請上線前仔細(xì)確認(rèn)
'FTP_HOST'    => 'img.52zhenmi.com',
'WEB_SEVER'   => 'http://img.52zhenmi.com',
'WEB_M_SERVER'  => 'http://www.52zhenmi.com/m',
'FTP_NAME'    => 'fexxxi',//ftp帳戶
'FTP_PWD'    => '1qxxxxxxw',//ftp密碼
'FTP_PORT'    => '21',//ftp端口,默認(rèn)為21
'FTP_PASV'    => true,//是否開啟被動模式,true開啟,默認(rèn)不開啟
'FTP_SSL'    => false,//ssl連接,默認(rèn)不開啟
'FTP_TIMEOUT'  => 60,//超時(shí)時(shí)間,默認(rèn)60,單位 s
'REMOTE_ROOT'  => '/',//圖片服務(wù)器根目錄

4.引入文件

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

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

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

/**
 * 圖片上傳的公共處理方法
 * @param string $fileName 圖片上傳的name
 * @return string 圖片的存儲路徑
 */
function handleImg($fileName){
  if($_FILES[$fileName]['tmp_name'] != ""){
    $img = $_FILES[$fileName];
    $imgUrl = __ROOT__."/public";
    $upload = new \Org\Net\Upload($img, $imgUrl);
    return $upload->main();
  }
}
//FTP上傳文件函數(shù)
function ftp_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端口,默認(rèn)為21
  $data['pasv'] = C('FTP_PASV');//是否開啟被動模式,true開啟,默認(rèn)不開啟
  $data['ssl'] = C('FTP_SSL');//ssl連接,默認(rèn)不開啟
  $data['timeout'] = C('FTP_TIMEOUT');//超時(shí)時(shí)間,默認(rèn)60,單位 s
  $info = $ftp->start($data);
  if($info){
    if($ftp->put($remotefile,$localfile)){}
  }
  $ftp->close();
}

6.操作截圖

7.提示

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

源代碼點(diǎn)擊此處本站下載

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • thinkPHP5框架整合plupload實(shí)現(xiàn)圖片批量上傳功能的方法
  • ThinkPHP5+Layui實(shí)現(xiàn)圖片上傳加預(yù)覽功能
  • ThinkPHP5.0 圖片上傳生成縮略圖實(shí)例代碼說明
  • thinkphp5上傳圖片及生成縮略圖公共方法(分享)
  • 基于ThinkPHP5.0實(shí)現(xiàn)圖片上傳插件
  • 使用ThinkPHP+Uploadify實(shí)現(xiàn)圖片上傳功能
  • Thinkphp整合阿里云OSS圖片上傳實(shí)例代碼
  • Thinkphp5+plupload實(shí)現(xiàn)的圖片上傳功能示例【支持實(shí)時(shí)預(yù)覽】

標(biāo)簽:韶關(guān) 涼山 遼陽 昭通 九江 十堰 梅河口 甘肅

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例》,本文關(guān)鍵詞  ThinkPHP,框架,實(shí)現(xiàn),FTP,圖片,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 泌阳县| 腾冲县| 平塘县| 延安市| 淮北市| 巴彦淖尔市| 昌江| 平顶山市| 佛坪县| 唐河县| 勐海县| 南安市| 象州县| 商城县| 山西省| 苏州市| 土默特右旗| 香格里拉县| 凤山县| 深圳市| 彭山县| 鹤峰县| 郎溪县| 本溪市| 闸北区| 宿迁市| 青河县| 桂东县| 全州县| 静海县| 民乐县| 镇平县| 亚东县| 蓬安县| 高淳县| 民和| 屯留县| 东乌| 永春县| 永年县| 达孜县|