CodeIgniter的文件上傳類允許文件被上傳。您可以設置指定上傳某類型的文件及指定大小的文件。
上傳文件普遍的過程:
一個上傳文件用的表單,允許用戶選擇一個文件並上傳它。
當這個表單被提交,該文件被上傳到指定的目錄。
同時,該文件將被驗證是否符合您設定的要求。
一旦文件上傳成功,還要返回一個上傳成功的確認窗口。
下面是表單:
復制代碼 代碼如下:<form method="post" action="<?=base_url()?>admin/img_upload/" enctype="multipart/form-data" />
<div style="margin:0 0 0.5em 0em;">
<input type="file" name="userfile" size="20" class="button" />
<input type="submit" value=" 上傳 " class="button" />
</div>
</form>
然後是下面是上傳類:
復制代碼 代碼如下:public function img_upload()
{
$this->load->helper('url');
$config['upload_path'] = './images/'.date('Ym', time()).'/';
$config['allowed_types'] = 'gif|jpg|png';
$config['file_name'] = date('Y_m_d', time()).'_'.sprintf('%02d', rand(0,99));
$config['max_size'] = '500';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( !$this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
}
else
{
$data = array('upload_data' => $this->upload->data());
}
}
需要用到的幾個函數
$this->upload->do_upload():根據你的偏好配置參數執行操作。注意:默認情況下上傳的文件來自於提交表單裡名為userfile的文件域,並且該表單必須是 "multipart"類型。
$this->upload->display_errors():如果do_upload()返回失敗,顯示錯誤信息。此函數不會自動輸出,而是返回數據,所以你可以按你的要求安排。
$this->upload->data():這是一個輔助函數,它返回你上傳文件的所有相關信息的數組。