欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Codeigniter里的無刷新上傳的實現代碼

Codeigniter里的無刷新上傳的實現代碼

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

好久沒有更新了,寫點吧算是翻譯吧,純原創沒空啊XD

Codeigniter還是很好用的,淡水一直很推崇。說是codeigniter里的無刷新上傳吧,fashion 一點的說法就是利用AJAX技術上傳。其中用到了Jquery和 AjaxFileUpload 。

先建個表

CREATE TABLE `files` (
 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 `filename` VARCHAR(255) NOT NULL,
 `title` VARCHAR(100) NOT NULL
);

文件的目錄結構如下:

public_html/
- application/
―- controllers/
―― upload.php
―- models/
―― files_model.php
―- views/
―― upload.php
―― files.php
- css/
―- style.css
- files/
- js/
―- AjaxFileUpload.js
―- site.js

第一步,建立表單

看上去就一個title文本字段,一個文件框,一個提交按鈕,還有一個files的div。

控制器部分

首先,我們要建一個上傳的表單和一個upload的Controller。在index方法里渲出upload的視圖。如下:

class Upload extends CI_Controller
{
  public function __construct()
  {
   parent::__construct();
   $this->load->model('files_model');
   $this->load->database();
   $this->load->helper('url');
  }
 
  public function index()
  {
   $this->load->view('upload');
  }
}

我們已經在構造里加載了files_model,所以可以使用files_model里的方法。

建立表單視圖

視圖文件upload.php,包含了我們的上傳表單。

!doctype html>
html>
head>
  script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js">/script>
  script src="?php echo base_url()?>js/site.js">/script>
  script src="?php echo base_url()?>js/ajaxfileupload.js">/script>
  link href="?php echo base_url()?>css/style.css" rel="external nofollow" rel="stylesheet" />
/head>
body>
  h1>Upload File/h1>
  form method="post" action="" id="upload_file">
   label for="title">Title/label>
   input type="text" name="title" id="title" value="" />
 
   label for="userfile">File/label>
   input type="file" name="userfile" id="userfile" size="20" />
 
   input type="submit" name="submit" id="submit" />
  /form>
  h2>Files/h2>
  div id="files">/div>
/body>
/html>

我們在文件開始就加載了jquery,ajaxfileupload和我們自己的site.js文件。Id為files的div是我們顯示上傳文件列表用的。

一些簡單的css

在css下建立style.css

h1, h2 { font-family: Arial, sans-serif; font-size: 25px; }
h2 { font-size: 20px; }
 
label { font-family: Verdana, sans-serif; font-size: 12px; display: block; }
input { padding: 3px 5px; width: 250px; margin: 0 0 10px; }
input[type="file"] { padding-left: 0; }
input[type="submit"] { width: auto; }
 
#files { font-family: Verdana, sans-serif; font-size: 11px; }
#files strong { font-size: 13px; }
#files a { float: right; margin: 0 0 5px 10px; }
#files ul { list-style: none; padding-left: 0; }
#files li { width: 280px; font-size: 12px; padding: 5px 0; border-bottom: 1px solid #CCC; }

第二步,Javascript

在js下建立site.js

$(function() {
  $('#upload_file').submit(function(e) {
   e.preventDefault();
   $.ajaxFileUpload({
     url     :'./upload/upload_file/',
     secureuri   :false,
     fileElementId :'userfile',
     dataType  : 'json',
     data    : {
      'title'      : $('#title').val()
     },
     success : function (data, status)
     {
      if(data.status != 'error')
      {
        $('#files').html('p>Reloading files.../p>');
        refresh_files();
        $('#title').val('');
      }
      alert(data.msg);
     }
   });
   return false;
  });
});

Javascript劫持了表單的提交,并由ajaxfileupload接管。其實是在后臺創建了一個iframe并提交了數據。

我只是ajax提交了#title的值,可以通過參數提交更多的字段。

檢查返回的json數據,如果沒有錯誤,就刷新文件列表(下文有),清除title字段。不管怎樣,都alert出返回的數據。

第三步,上傳文件

控制器部分

現在開始上傳文件了。我們的URL是這樣的 /uplaod/upload_file/,所以,我們在uoload的控制器里建立upload_file方法。

public function upload_file()
{
  $status = "";
  $msg = "";
  $file_element_name = 'userfile';
 
  if (empty($_POST['title']))
  {
   $status = "error";
   $msg = "Please enter a title";
  }
 
  if ($status != "error")
  {
   $config['upload_path'] = './files/';
   $config['allowed_types'] = 'gif|jpg|png|doc|txt';
   $config['max_size'] = 1024 * 8;
   $config['encrypt_name'] = TRUE;
 
   $this->load->library('upload', $config);
 
   if (!$this->upload->do_upload($file_element_name))
   {
     $status = 'error';
     $msg = $this->upload->display_errors('', '');
   }
   else
   {
     $data = $this->upload->data();
     $file_id = $this->files_model->insert_file($data['file_name'], $_POST['title']);
     if($file_id)
     {
      $status = "success";
      $msg = "File successfully uploaded";
     }
     else
     {
      unlink($data['full_path']);
      $status = "error";
      $msg = "Something went wrong when saving the file, please try again.";
     }
   }
   @unlink($_FILES[$file_element_name]);
  }
  echo json_encode(array('status' => $status, 'msg' => $msg));
}

我們對title字段做了個簡單的數據檢查,看看他是否為空。不為空就加載codeigniter的upload庫。這個類庫為我們處理了很多的數據驗證。

接著,我們上傳文件了。如果成功我們保存title和file_name。然后我們刪除了臨時文件,最后,json方法返回了狀態和信息,來告訴我們結果。

模型部分

按大多數人的MVC模式理念,我們應該在模型里處理數據庫交換。

建立files_model.php

class Files_Model extends CI_Model {
 
  public function insert_file($filename, $title)
  {
   $data = array(
     'filename'   => $filename,
     'title'    => $title
   );
   $this->db->insert('files', $data);
   return $this->db->insert_id();
  }
 
}

保存上傳文件的文件夾

不要忘記在根目錄建立個files文件夾,并給他寫入權限。

第四步,文件列表

成功上傳后,我們需要更新文件列表,方便修改。

Javascript部分

打開site.js,在后面追加:

function refresh_files()
{
  $.get('./upload/files/')
  .success(function (data){
   $('#files').html(data);
  });
}

Jquery的簡單應用。Ajax取得指定url的內容,填充到#files的div里。

控制器部分

不多說了。

public function files()
{
  $files = $this->files_model->get_files();
  $this->load->view('files', array('files' => $files));
}

調用模型的方法取得數據,再加載到files視圖里顯示。

模型部分

public function get_files()
{
  return $this->db->select()
     ->from('files')
     ->get()
     ->result();
}

視圖部分

新建files.php視圖

?php
if (isset($files)  count($files))
{
  ?>
   

     ?php
     foreach ($files as $file)
     {
      ?>
      

        Delete
        ?php echo $file->title?>
        

        ?php echo $file->filename?>
      

      ?php
     }
     ?>

?php
}
else
{
  ?>
  
No Files Uploaded


  ?php
}
?>

刪除文件

Javascript部分

$('.delete_file_link').live('click', function(e) {
  e.preventDefault();
  if (confirm('Are you sure you want to delete this file?'))
  {
   var link = $(this);
   $.ajax({
     url     : './upload/delete_file/' + link.data('file_id'),
     dataType : 'json',
     success   : function (data)
     {
      files = $(#files);
      if (data.status === "success")
      {
        link.parents('li').fadeOut('fast', function() {
         $(this).remove();
         if (files.find('li').length == 0)
         {
           files.html('p>No Files Uploaded/p>');
         }
        });
      }
      else
      {
        alert(data.msg);
      }
     }
   });
  }
});

控制器部分

public function delete_file($file_id)
{
  if ($this->files_model->delete_file($file_id))
  {
   $status = 'success';
   $msg = 'File successfully deleted';
  }
  else
  {
   $status = 'error';
   $msg = 'Something went wrong when deleteing the file, please try again';
  }
  echo json_encode(array('status' => $status, 'msg' => $msg));
}

模型部分

public function delete_file($file_id)
{
  $file = $this->get_file($file_id);
  if (!$this->db->where('id', $file_id)->delete('files'))
  {
   return FALSE;
  }
  unlink('./files/' . $file->filename);
  return TRUE;
}
 
public function get_file($file_id)
{
  return $this->db->select()
     ->from('files')
     ->where('id', $file_id)
     ->get()
     ->row();
}

嗯,簡單的應用。沒有涉及的權限、上傳的進度條等。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php+ajax實現無刷新文件上傳功能(ajaxuploadfile)
  • PHP中ajax無刷新上傳圖片與圖片下載功能
  • PHP+JavaScript實現無刷新上傳圖片
  • PHP+Ajax無刷新帶進度條圖片上傳示例
  • php+ajax無刷新上傳圖片的實現方法
  • PHP Ajax實現無刷新附件上傳
  • php+ajax無刷新上傳圖片實例代碼
  • 使用PHP和HTML5 FormData實現無刷新文件上傳教程
  • php利用iframe實現無刷新文件上傳功能的代碼
  • PHP無刷新上傳文件實現代碼
  • php ajax無刷新上傳圖片實例代碼

標簽:十堰 韶關 涼山 九江 昭通 遼陽 甘肅 梅河口

巨人網絡通訊聲明:本文標題《Codeigniter里的無刷新上傳的實現代碼》,本文關鍵詞  Codeigniter,里,的,無,刷新,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Codeigniter里的無刷新上傳的實現代碼》相關的同類信息!
  • 本頁收集關于Codeigniter里的無刷新上傳的實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    蜜桃视频在线观看一区二区| 欧美久久久久久久久久久| 成人片黄网站色大片免费毛片| 欧美日韩一级二级| 亚洲精品视频自拍| 91伊人久久大香线蕉| 国产av 一区二区三区| 国产精品美女视频| 福利一区二区在线| 国产老头老太做爰视频| 中文字幕av一区二区三区高| 国产高清亚洲一区| 日本激情视频一区二区三区| 国产欧美一区二区三区鸳鸯浴 | 91制片厂在线| 国产色产综合色产在线视频| 国产在线精品一区二区不卡了| 免费福利视频网站| 国产无人区一区二区三区| 国产成人一区在线| 中文字幕av播放| 亚洲欧美日韩国产综合| 熟妇无码乱子成人精品| 欧美日本免费一区二区三区| 偷窥国产亚洲免费视频| 极品人妻一区二区三区| 久久综合色综合88| 国产高清精品网站| 国产97免费视频| 一区二区三区在线观看动漫| 免费观看污网站| 日韩欧美www| 韩国午夜理伦三级不卡影院| 污污的视频在线免费观看| 亚洲日本韩国一区| 亚洲少妇一区二区三区| 日韩欧美一二三四区| 久久97超碰色| 日韩欧美中文字幕视频| 亚洲.国产.中文慕字在线| 玖玖爱在线观看| 国产亚洲成av人在线观看导航| 成人激情小说网站| 欧美丝袜第三区| 蜜臂av日日欢夜夜爽一区| 国产午夜精品福利视频| 综合久久久久久| av不卡中文字幕| 精品国产不卡一区二区三区| 懂色av中文一区二区三区| 欧美性大战xxxxx久久久| 日本美女一区二区三区| 四虎884aa成人精品| 亚洲国产cao| 亚洲一级片在线播放| 亚洲精品乱码久久久久久黑人 | 亚洲美女视频一区| 天天插天天射天天干| 国产欧美日韩中文久久| 女人扒开双腿让男人捅 | 97中文字幕在线观看| 精品区一区二区| www.久久久久久久久| 日韩写真欧美这视频| 粉嫩av一区二区三区粉嫩| 欧美精品日日鲁夜夜添| 国产成人在线电影| 91精品免费观看| 盗摄精品av一区二区三区| 欧美一级专区免费大片| 成人永久看片免费视频天堂| 这里只有精品99re| www.久久精品| 久久午夜免费电影| 91人妻一区二区| 国产精品盗摄一区二区三区| 中国美女乱淫免费看视频| 亚洲精品自拍动漫在线| 日韩一级av毛片| 亚洲国产va精品久久久不卡综合 | 一二三四国产精品| 亚洲高清三级视频| 亚洲 欧美 变态 另类 综合| 蜜臀久久久久久久| 欧美视频一二三区| 丁香一区二区三区| 日韩免费成人网| 亚洲欧美激情一区二区三区| 中文久久乱码一区二区| 人妻少妇一区二区| 亚洲成人tv网| 日本韩国精品一区二区在线观看| 国内精品伊人久久久久影院对白| 欧美日韩国产综合视频在线观看| 成人自拍视频在线观看| 久久精品亚洲精品国产欧美kt∨| 国产精品无码专区| 亚洲主播在线观看| 色综合久久88色综合天天| 国产乱理伦片在线观看夜一区| 91精品国产丝袜白色高跟鞋| 在线观看免费看片| 国产精品久久99| 青青操在线播放| 精品在线播放午夜| 日韩视频免费观看高清在线视频| 国内自拍偷拍视频| 亚洲另类在线一区| 青青青在线免费观看| 国产精品一二三| 久久影院午夜论| 大又大又粗又硬又爽少妇毛片 | 色综合久久久网| 国产福利不卡视频| 日韩欧美国产wwwww| 中文字幕无码人妻少妇免费| 亚洲一区二区三区视频在线 | 国产精品一卡二卡| 久久精品在线免费观看| a天堂中文字幕| 麻豆国产欧美一区二区三区| 欧美一区二区精品久久911| 黄色在线免费播放| 亚洲第一福利视频在线| 欧美美女网站色| 白嫩情侣偷拍呻吟刺激| 亚洲第一激情av| 制服丝袜av成人在线看| 黄色网址在线视频| 日本不卡视频一二三区| 日韩欧美中文字幕制服| 亚洲国产欧美视频| 美脚の诱脚舐め脚责91| 精品国一区二区三区| 五月天综合视频| 国产一区二区剧情av在线| 欧美国产丝袜视频| 中文字幕av播放| 91污片在线观看| 亚洲成人自拍偷拍| 在线不卡的av| 最新中文字幕视频| 韩国毛片一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 黄色一级片中国| 人妻精油按摩bd高清中文字幕| 亚洲国产综合视频在线观看| 欧美一区二区在线不卡| www在线观看免费视频| 国产麻豆精品theporn| 国产精品美女一区二区三区 | 国产精品视频一区二区在线观看| 国产91对白在线观看九色| 亚洲三级视频在线观看| 欧美午夜片在线看| 成人免费无码大片a毛片| 精品一区二区三区免费毛片爱 | 成人蜜臀av电影| 亚洲最大成人网4388xx| 欧美一级在线免费| 手机免费观看av| 97精品久久久午夜一区二区三区| 亚洲成人高清在线| 精品成人佐山爱一区二区| 国产美女久久久久久| 潘金莲一级淫片aaaaaaa| 青青国产91久久久久久| 亚洲国产高清在线| 欧美日韩一区在线观看| 无码一区二区三区在线| 成人一区在线看| 亚洲18影院在线观看| 久久九九国产精品| 欧洲一区二区三区在线| 亚洲午夜久久久久久久久红桃 | 国产美女主播视频一区| 亚洲人成网站色在线观看| 日韩一区二区在线看| 可以免费看av的网址| 在线观看你懂的视频| 黄页网站大全一区二区| 亚洲激情男女视频| 337p粉嫩大胆色噜噜噜噜亚洲| 一本色道久久综合狠狠躁的推荐 | 美女被吸乳得到大胸91| 中文字幕视频一区| 日韩亚洲欧美一区| 色综合天天综合网天天狠天天| 国产精品无码在线| 懂色av一区二区三区蜜臀| 肉色丝袜一区二区| 亚洲素人一区二区| 欧美va日韩va| 欧美羞羞免费网站| 亚洲一级理论片| 秘密基地免费观看完整版中文| 国产福利精品导航| 免费观看日韩av| 亚洲最新视频在线观看| 欧美韩日一区二区三区四区|