国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

CodeIgniter的文件上傳類允許上傳文件。您可以設(shè)置各種首選項(xiàng),限制文件的類型和大小。

  • 過程

    • 創(chuàng)建上傳表單

    • 成功頁面

    • 控制器

    • 上傳目錄

    • 嘗試一下!

  • 參考指南

    • 初始化上傳類

    • 設(shè)置首選項(xiàng)

    • 優(yōu)先

    • 在配置文件中設(shè)置首選項(xiàng)

  • 類參考

過程

上傳文件涉及以下一般過程:

  • 顯示上傳表單,允許用戶選擇文件并上傳。

  • 提交表單時,文件將上傳到您指定的目的地。

  • 一路上,文件被驗(yàn)證,以確保它被允許根據(jù)您設(shè)置的偏好進(jìn)行上傳。

  • 一旦上傳,用戶將被顯示成功消息。

為了演示這個過程,這里是簡短的教程。之后你會找到參考信息。

創(chuàng)建上傳表單

使用文本編輯器創(chuàng)建一個名為upload_form.php的表單。在這里,放置這段代碼并保存到你的application / views /目錄中:

<html><head><title>Upload Form</title></head><body><?php echo $error;?><?php echo form_open_multipart('upload/do_upload');?><input type="file" name="userfile" size="20" /><br /><br /><input type="submit" value="upload" /></form></body></html>

您會注意到我們正在使用表單助手來創(chuàng)建開始表單標(biāo)記。文件上傳需要多部分形式,所以助手會為你創(chuàng)建合適的語法。您還會注意到我們有一個$ error變量。這樣我們可以在用戶做錯事情時顯示錯誤消息。

成功頁面

使用文本編輯器創(chuàng)建一個名為upload_success.php的表單。在這里,放置這段代碼并保存到你的application / views /目錄中:

<html><head><title>Upload Form</title></head><body><h3>Your file was successfully uploaded!</h3><ul><?php foreach ($upload_data as $item => $value):?><li><?php echo $item;?>: <?php echo $value;?></li><?php endforeach; ?></ul><p><?php echo anchor('upload', 'Upload Another File!'); ?></p></body></html>

控制器

使用文本編輯器創(chuàng)建一個名為Upload.php的控制器。在它中,放置這些代碼并將其保存到您的應(yīng)用程序/ controllers /目錄中:

<?phpclass Upload extends CI_Controller {        public function __construct()        {
                parent::__construct();
                $this->load->helper(array('form', 'url'));        }        public function index()        {
                $this->load->view('upload_form', array('error' => ' ' ));        }        public function do_upload()        {
                $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);                if ( ! $this->upload->do_upload('userfile'))                {
                        $error = array('error' => $this->upload->display_errors());

                        $this->load->view('upload_form', $error);                }                else                {
                        $data = array('upload_data' => $this->upload->data());

                        $this->load->view('upload_success', $data);                }        }}?>

上傳目錄

您需要上傳圖片的目標(biāo)目錄。在CodeIgniter安裝的根目錄創(chuàng)建一個名為uploads的目錄,并將其文件權(quán)限設(shè)置為777。

嘗試一下!

要嘗試表單,請使用類似下面的網(wǎng)址訪問您的網(wǎng)站:

example.com/index.php/upload/

你應(yīng)該看到一個上傳表單。嘗試上傳圖片文件(JPG,GIF或PNG)。如果你的控制器中的路徑是正確的,它應(yīng)該工作。

參考指南

初始化上傳類

像CodeIgniter中的大多數(shù)其他類一樣,Upload類在您的控制器中使用以下$this->load->library()方法進(jìn)行初始化:

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

一旦加載了Upload類,該對象將可以使用:$ this-> upload

設(shè)置首選項(xiàng)

與其他圖書館類似,您可以根據(jù)自己的偏好控制允許上傳的內(nèi)容。在上面構(gòu)建的控制器中,設(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()`` method. Useful if you auto-load the class:$this->upload->initialize($config);

上述偏好應(yīng)該是不言自明的。以下是描述所有可用偏好的表格。

Preferences

以下偏好是可用的。默認(rèn)值表示如果不指定該首選項(xiàng)將使用的內(nèi)容。

Preference

默認(rèn)值

選項(xiàng)

描述

upload_path

沒有

沒有

應(yīng)該放置上傳目錄的路徑。該目錄必須是可寫的,路徑可以是絕對路徑或相對路徑。

allowed_types

沒有

沒有

MIME類型對應(yīng)于您允許上傳的文件類型。通常文件擴(kuò)展名可以用作MIME類型??梢允菙?shù)組或管道分隔的字符串。

文件名

沒有

所需的文件名

如果設(shè)置CodeIgniter會將上傳的文件重命名為該名稱。文件名中提供的擴(kuò)展名也必須是允許的文件類型。如果沒有提供原始文件名的擴(kuò)展名將被使用。

file_ext_tolower

TRUE / FALSE(布爾)

如果設(shè)置為TRUE,文件擴(kuò)展名將被強(qiáng)制為小寫

overwrite

TRUE / FALSE(布爾)

如果設(shè)置為true,如果存在與正在上傳的文件同名的文件,則該文件將被覆蓋。如果設(shè)置為false,如果存在另一個具有相同名稱的文件,則會在文件名后附加一個數(shù)字。

MAX_SIZE

0

沒有

文件的最大大小(以千字節(jié)為單位)。無限制設(shè)置為零。注意:大多數(shù)PHP安裝都有自己的限制,正如在php.ini文件中指定的那樣。通常默認(rèn)2 MB(或2048 KB)。

MAX_WIDTH

0

沒有

圖像可以是的最大寬度(以像素為單位)。無限制設(shè)置為零。

最大高度

0

沒有

圖像的最大高度(以像素為單位)。無限制設(shè)置為零。

MIN_WIDTH

0

沒有

圖像可以是的最小寬度(以像素為單位)。無限制設(shè)置為零。

MIN_HEIGHT

0

沒有

圖像可能的最小高度(以像素為單位)。無限制設(shè)置為零。

max_filename

0

沒有

文件名的最大長度。無限制設(shè)置為零。

max_filename_increment

100

沒有

當(dāng)覆蓋設(shè)置為FALSE時,使用它來設(shè)置CodeIgniter追加到文件名的最大文件名增量。

encrypt_name

TRUE / FALSE(布爾)

如果設(shè)置為TRUE,文件名將被轉(zhuǎn)換為隨機(jī)加密的字符串。如果您希望使用名稱無法識別的文件來保存文件,這會非常有用。

remove_spaces

TRUE / FALSE(布爾)

如果設(shè)置為TRUE,則文件名中的任何空格將轉(zhuǎn)換為下劃線。這是推薦的。

detect_mime

TRUE / FALSE(布爾)

如果設(shè)置為TRUE,則將執(zhí)行服務(wù)器端文件類型檢測以避免代碼注入攻擊。不要禁用此選項(xiàng),除非您沒有其他選擇,否則會導(dǎo)致安全風(fēng)險。

mod_mime_fix

TRUE / FALSE(布爾)

如果設(shè)置為TRUE,多個文件擴(kuò)展名后面會加下劃線,以避免觸發(fā)Apache mod_mime。如果您的上傳目錄是公開的,請不要關(guān)閉此選項(xiàng),因?yàn)檫@存在安全風(fēng)險。

在配置文件中設(shè)置首選項(xiàng)

如果您不想使用上述方法設(shè)置首選項(xiàng),則可以將它們放入配置文件中。只需創(chuàng)建一個名為upload.php的新文件,在該文件中添加$ config數(shù)組。然后將該文件保存在:config / upload.php中,并自動使用。如果將$this->upload->initialize()首選項(xiàng)保存在配置文件中,則不需要使用該方法。

類參考

class CI_Uploadinitialize([array $config = array()[, $reset = TRUE]])

參數(shù):

$ config(array) - 首選項(xiàng)$ reset(bool) - 是否將首選項(xiàng)(不在$ config中提供)重置為默認(rèn)值

返回:

CI_Upload實(shí)例(方法鏈)

返回類型:

CI_Upload

  • $ config數(shù)組) - 首選項(xiàng)

  • $ resetbool) - 是否將首選項(xiàng)(不在$ config中提供)重置為默認(rèn)值

返回:CI \ _Upload實(shí)例(方法鏈接)
Return type:  CI\_Upload

do_upload([$field = 'userfile'])

參數(shù):

$ field(string) - 表單字段的名稱

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

  • $ fieldstring) - 表單字段的名稱

返回:成功時為TRUE,失敗時為FALSE
返回類型:布爾值
根據(jù)您設(shè)定的偏好執(zhí)行上傳。

注意

默認(rèn)情況下,上傳例程期望文件來自稱為userfile的表單字段,并且表單必須是“multipart”類型。

<form method="post" action="some\_action" enctype="multipart/form-data" />

如果您想設(shè)置自己的字段名稱,只需將其值傳遞給do_upload()方法:

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

display_errors([$open = '<p>'[, $close = '</p>']])

參數(shù):

$ open(string) - 打開標(biāo)記$ close(string) - 關(guān)閉標(biāo)記

返回:

格式化的錯誤信息(s)

返回類型:

  • $ openstring) - 打開標(biāo)記

  • $ closestring) - 關(guān)閉標(biāo)記

返回:格式錯誤消息(s)
返回類型:字符串
如果`do_upload()`方法返回false,則檢索任何錯誤消息。該方法不會自動回顯,它會返回數(shù)據(jù),以便您根據(jù)需要分配數(shù)據(jù)。

格式錯誤

默認(rèn)情況下,上面的方法包含<p>標(biāo)簽中的所有錯誤。你可以像這樣設(shè)置你自己的分隔符:

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

data([$index = NULL])

參數(shù):

$ data(string) - 返回的元素而不是整個數(shù)組

返回:

關(guān)于上傳文件的信息

返回類型:

mixed

  • $ datastring) - 返回的元素而不是整個數(shù)組

返回:關(guān)于上傳文件的信息
返回類型:混合
這是一個幫助器方法,它返回一個包含與您上傳的文件相關(guān)的所有數(shù)據(jù)的數(shù)組。這里是數(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ù)組中返回一個元素:

$this->upload->data('file_name');       // Returns: mypic.jpg

下面是一張解釋上面顯示的數(shù)組項(xiàng)目的表格:

項(xiàng)目描述file \ _name已上傳文件的名稱,包括文件擴(kuò)展名文件\ _type文件MIME類型標(biāo)識符file \ _path文件完整路徑\ _path絕對服務(wù)器路徑,包括文件名raw \ _name文件名,沒有擴(kuò)展名\原始文件名。這僅在您使用加密名稱選項(xiàng)時才有用。client \ _name在任何文件名稱準(zhǔn)備或增量文件之前由客戶端用戶代理提供的文件名稱\ _ext文件名擴(kuò)展名,包含句點(diǎn)的文件\ _size文件大?。ㄒ郧ё止?jié)為單位)是\ _image文件是否為圖像。1 =圖像。0 =不。
Previous article: Next article: