2014-07-25 49 views
0

我看到CI文檔來創建一個圖片上傳。 這裏是我Controller如何在codeigniter中創建文件上傳器?

<?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() 
{ 
    $this->load->helper(array('form', 'url')); 
    $this->load->helper('url'); 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size'] = '0'; 
    $config['max_width'] = '0'; 
    $config['max_height'] = '0'; 

    $this->load->library('upload', $config); 
    if (! $this->upload->do_upload()) 
    { 
     echo $this->upload->display_error(); 
     return FALSE; 
    } 
    else 
    { 
     $data = $this->upload->data(); 
     return TRUE; 
    } 
} 
} 

,這裏是我的View

<html> 
<head> 
    <title>Upload Form</title> 
</head> 
<body> 
<form action="upload/do_upload" method="post" accept-charset="utf-8" enctype="multipart/form-data"> 
<input type="file" name="userfile" size="20" /> 

<br /><br /> 

<input type="submit" value="upload" /> 

</form> 

</body> 
</html> 

但是當我上傳的圖像不上傳並$this->upload->display_error()顯示什麼(我上傳的文件夾這是在我的詞根文件夾也有777 permision和我使用WAMP)

回答

0

我改變我的函數命名爲function do_upload()function somethingelse(),我的問題解決了(因爲我打電話內置功能)

1

兩個指針爲您提供:

<input type="file" name="userfile" size="20" /> 

檢查您使用的文件是否超出文件的上傳範圍。

echo $this->upload->display_errors(); 

請參閱display_errors並使用s

建議:

在你表單的action屬性用一個絕對的URL,如:

action="<?php echo base_url() ?>upload/do_upload" 

裏面的功能​​3210,做一個print_r($_FILEs),以確認該文件是用正確上傳沒有錯誤。

+0

我,你說什麼,但什麼都沒有改變 –

+0

什麼你的錯誤,現在呢? print_r返回什麼? –

+0

我評論了我所有的do_upload,並且只在我的函數中使用了print_r,它給了我Array([userfile] => Array([name] => chest.jpg [type] => image/jpeg [tmp_name] => C:\ wamp \ tmp \ php7295.tmp [error] => 0 [size] => 2085))但是當我取消註釋我的代碼時,它會再次返回upload_form並且什麼也沒有顯示 –