亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
歡迎 目錄 快速參考圖 基本信息 服務器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導 從老版本升級 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應用程序流程圖 模型-視圖-控制器 架構(gòu)目標 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴展框架的核心 自動裝載資源 公共函數(shù) URI 路由 錯誤處理 緩存 調(diào)試應用程序 以CLI方式運行 管理應用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準測試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測試類 URI 類 User-Agent 類 表單驗證 XML-RPC 和 XML-RPC 服務器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫類 Active Record 類 數(shù)據(jù)庫緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫配置 連接你的數(shù)據(jù)庫 數(shù)據(jù)庫快速入門例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫維護類 查詢輔助函數(shù) 數(shù)據(jù)庫類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務 數(shù)據(jù)庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
watak

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請 登錄 或 注冊  找回密碼
查看原文

文件上傳類

CodeIgniter 的文件上傳類允許文件被上傳。您可以設(shè)置指定上傳某類型的文件及指定大小的文件。

處理過程

上傳文件普遍的過程:

  • 一個上傳文件用的表單,允許用戶選擇一個文件并上傳它。
  • 當這個表單被提交,該文件被上傳到指定的目錄。
  • 同時,該文件將被驗證是否符合您設(shè)定的要求。
  • 一旦文件上傳成功,還要返回一個上傳成功的確認窗口。

這里有一個簡短的教程來顯示這個過程。此后你將會找到相關(guān)的參考信息。

創(chuàng)建上傳表單

運用文本編輯器創(chuàng)建一個名為upload_form.php的文件,復制以下代碼并保存在applications/views/目錄里:

你會看到這里運用到了一個表單輔助函數(shù)來創(chuàng)建表單的開始標簽,文件上傳需要一個 multipart form,因為這個表單輔助函數(shù)為你創(chuàng)建了一個合適的語句。你還會看到我們運用了一個$error變量,當用戶提交該表單出現(xiàn)錯誤時會顯示相關(guān)的出錯信息。

上傳成功的頁面

運用文本編輯器創(chuàng)建一個名為upload_success.php的文件。復制以下代碼保存到applications/views/目錄里:

控制器

運用文本編輯器,創(chuàng)建一個名為upload.php的控制器.復制以下代碼并保存到applications/controllers/目錄里:

上傳文件目錄

你還需要一個目標文件夾來存儲上傳的圖片。在根目錄上創(chuàng)建一個名為uploads的文件并設(shè)置該文件的屬性為 777。(即可讀寫)

提交表單

要提交你的表單,輸入類似如下的URL:

example.com/index.php/upload/

你將看到一個上傳表單,任選一張(jpg, gif,或者png)圖片進行提交. 如果你在控制器里設(shè)置的路徑是正確的,它將開始工作。

?

參考指南

初始化文件上傳類

與CodeIgniter的其它一些類相似,文件上傳類用$this->load->library函數(shù)在控制器里進行初始化:

$this->load->library('upload');

一旦文件上傳類被加載,對象將通過如下方法來引用:$this->upload

偏好設(shè)置

與其它庫類似,你將根據(jù)你的偏好設(shè)置來控制要被上傳的文件,在控制器里,你建立了如下的偏好設(shè)置:

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

$this->load->library('upload', $config);

// Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
//【如果你在 config文件夾內(nèi)的 autoload.php 文件中自動加載了 upload 類,或者在構(gòu)造函數(shù)內(nèi)加載了的話,可以調(diào)用初始化函數(shù) initialize 來加載設(shè)置?!纠ㄌ杻?nèi)由IT不倒翁翻譯,加入了自己的理解】
$this->upload->initialize($config);

以上偏好設(shè)置將被完全執(zhí)行。以下是所有偏好設(shè)置參數(shù)的描述。

偏好設(shè)置參數(shù)

以下偏好設(shè)置參數(shù)是可用的。當你沒有特別指定偏好設(shè)置參數(shù)時,默認值如下:

偏好設(shè)置 默認值 選項 描述
upload_path None None 文件上傳路徑。該路徑必須是可寫的,相對路徑和絕對路徑均可以。
allowed_types None None 允許上傳文件的MIME類型;通常文件擴展名可以做為MIME類型. 允許多個類型用豎線‘|’分開
file_name None 想要使用的文件名

如果設(shè)置了這個參數(shù),CodeIgniter 將根據(jù)這里設(shè)置的文件名來對上傳的文件進行重命名。文件名中的擴展名也必須是允許的文件類型。

overwrite FALSE TRUE/FALSE (boolean) 是否覆蓋。該參數(shù)為TRUE時,如果上傳文件時碰到重名文件,將會把原文件覆蓋;如果該參數(shù)為FALSE,CI將會在新文件的文件名后面加一個數(shù)字。If set to true, if a file with the same name as the one you are uploading exists, it will be overwritten. If set to false, a number will be appended to the filename if another with the same name exists.
max_size 0 None 允許上傳文件大小的最大值(以K為單位)。該參數(shù)為0則不限制。注意:通常PHP也有這項限制,可以在php.ini文件中指定。通常默認為2MB。
max_width 0 None 上傳文件的寬度最大值(像素為單位)。0為不限制。
max_height 0 None 上傳文件的高度最大值(像素為單位)。0為不限制。
max_filename 0 None 文件名的最大長度。0為不限制。
encrypt_name FALSE TRUE/FALSE (boolean) 是否重命名文件。如果該參數(shù)為TRUE,上傳的文件將被重命名為隨機的加密字符串。當你想讓文件上傳者也不能區(qū)分自己上傳的文件的文件名時,是非常有用的。當 overwrite 為 FALSE 時,此選項才起作用。
remove_spaces TRUE TRUE/FALSE (boolean) 參數(shù)為TRUE時,文件名中的空格將被替換為下劃線。推薦使用。

在配置文件里設(shè)置偏好設(shè)置參數(shù)

如果你不愿意應用如上方法進行偏好設(shè)置,你可能用一個配置文件來取代它。簡單創(chuàng)建一個名為upload.php的文件,添加 $config數(shù)組到該文件里,然后保存文件到:config/upload.php,它將被自動加載。當你把配置參數(shù)保存到該文件里,你不需要用$this->upload->initialize函數(shù)進行手動加載。

運用到的函數(shù)

以下函數(shù)被運用

$this->upload->do_upload()

根據(jù)你的偏好配置參數(shù)執(zhí)行操作。注意:默認情況下上傳的文件來自于提交表單里名為userfile的文件域,并且該表單必須是 "multipart"類型:

<form method="post" action="some_action" enctype="multipart/form-data" />

如果你想在執(zhí)行do_upload函數(shù)之前自定義自己的文件域名稱,可通過以下方法實現(xiàn):

$field_name = "some_field_name";
$this->upload->do_upload($field_name)

$this->upload->display_errors()

如果do_upload()返回失敗,顯示錯誤信息。此函數(shù)不會自動輸出,而是返回數(shù)據(jù),所以你可以按你的要求安排。

格式化錯誤

上面的函數(shù)默認使用<p>標記錯誤信息。你可以像這樣設(shè)置自己的分隔符。

$this->upload->display_errors('<p>', '</p>');

$this->upload->data()

這是一個輔助函數(shù),它返回你上傳文件的所有相關(guān)信息的數(shù)組。

Array
(
????[file_name]????=> mypic.jpg
????[file_type]????=> image/jpeg
????[file_path]????=> /path/to/your/upload/
????[full_path]????=> /path/to/your/upload/jpg.jpg
????[raw_name]?????=> mypic
????[orig_name]????=> mypic.jpg
????[client_name]????=> mypic.jpg
????[file_ext]?????=> .jpg
????[file_size]????=> 22.2
????[is_image]?????=> 1
????[image_width]??=> 800
????[image_height] => 600
????[image_type]???=> jpeg
????[image_size_str] => width="800" height="200"
)

解釋

這里是對上面數(shù)組項的解釋。

Item Description
file_name 已上傳的文件名(包括擴展名)
file_type 文件的Mime類型
file_path 不包括文件名的文件絕對路徑
full_path 包括文件名在內(nèi)的文件絕對路徑
raw_name 不包括擴展名在內(nèi)的文件名部分
orig_name 上傳的文件最初的文件名。這只有在設(shè)置上傳文件重命名(encrypt_name)時才有效。
client_name 上傳的文件在客戶端的文件名。
file_ext 文件擴展名(包括‘.’)
file_size 圖像大小,單位是kb
is_image 是否是圖像。 1 =是圖像。 0 = 不是圖像。
image_width 圖像寬度.
image_height 圖像高度
image_type 文件類型,即文件擴展名(不包括‘.’)
image_size_str 一個包含width和height的字符串。用于放在一個img標簽里。

?

翻譯貢獻者: cnmiss, helingjun2008, Hex, IT不倒翁, lishen2, roln, szlinz, thankwsx, wangyueqiang, yinzhili
最后修改: 2012-02-06 00:21:17
Artikel sebelumnya: Artikel seterusnya: