2013-04-25 82 views
1

我有一個用戶可以註冊的頁面。他在此過程中上傳個人資料照片。我想限制大小,但除了$ config ['maxsize']之外,沒有太多重點放在codeigniter文檔上。我嘗試了以下,但我沒有收到任何消息。爲了測試,我將大小設置爲10(KB)。我是否必須以某種方式處理它以將信息傳達給我的觀點?codeigniter中的上傳大小限制

public function add_user() 
    { 


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

     $this->load->library('upload', $config); 
     $fullImagePath; 
     if (isset($_FILES['userfile']) && !empty($_FILES['userfile']['name'])) 
      { 
      if ($this->upload->do_upload('userfile')) 
      { 
      // set a $_POST value for 'image' that we can use later 
... 

順便說一下,這段代碼是在我的模型中。

+0

爲什麼你要保持它在你的模型....? – 2013-04-25 06:46:11

+0

我只是測試功能..我知道它應該在控制器中。我將稍後遷移 – 2013-04-25 06:47:02

+0

當您超出maxsize字段中指定的大小時,請遵循此鏈接http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html CI將自動給出錯誤........ – 2013-04-25 06:47:58

回答

0

你不需要處理錯誤信息在這種情況下,CI會小心謹慎,所以請遵循codeIgniter用戶指南中指定的upload class tutorial

0
<?php 

class upload extends CI_Controller { 

function __construct() 
{ 
    parent::__construct(); 
    $this->load->helper(array('form', 'url')); 
} 

function index() 
{ 
    $this->load->view('upload_form', array('error' => ' ')); 
} 

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()) 
    { 
     $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); 
    } 

} 
} 
?> 
0

這個尺寸不KB它的字節因此對於10KB你應該寫(10 * 1024)字節或 「10240」

+0

CodeIgniter文檔指出max_size實際上是KB。 – itsols 2015-06-21 10:53:29