2010-05-16 52 views
0

任何人都可以爲我提供一個codeigniter的簡單工作代碼片段,用於一次上傳2張圖片(通過2個不同的輸入字段)。我需要一次上傳2張圖片,或者一張接一張上傳。並且這兩個圖像需要位於不同的位置。立即在codeigniter中上傳2張圖片

我試圖通過調用兩次上傳函數來完成它自己,但是它返回了最後一張圖片,並帶有這些擴展名:* .jpg.jpg。

任何人都可以幫助

回答

0

不幸的是,CodeIgniter上傳類不支持多個文件。但是,您可以使用標準的PHP函數。

<form enctype="multipart/form-data" action="/upload/send" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
    Send this file: <input name="a_file" type="file" /><br /> 
    Send another file: <input name="another_file" type="file" /><br /> 
    <input type="submit" value="Send Files" /> 
</form> 
控制器

然後做這樣的事情:

class Upload extends Controller { 

    function Upload() 
    { 
     parent::Controller(); 
    } 

    function index() 
    { 
     $data = array(); 

     $this->load->view('template/head'); 
     $this->load->view('upload', $data); 
     $this->load->view('template/foot'); 
    } 

    function send() 
    { 
     // TODO: error checking, and cleanse ['name'] to prevent hacks 
     // http://www.php.net/manual/en/features.file-upload.errors.php 
     move_uploaded_file(
      $_FILES['a_file']['tmp_name'], 
      '/path/to/uploads/'.$_FILES['a_file']['name'] 
     ); 
     move_uploaded_file(
      $_FILES['another_file']['tmp_name'], 
      '/path/to/uploads/'.$_FILES['another_file']['name'] 
     ); 
    } 
} 

http://www.php.net/manual/en/features.file-upload.post-method.php

+0

謝謝羅伯特,我會試試這個。 – sonill 2010-05-18 07:17:53

+0

你確定羅伯特,它會工作,因爲我有麻煩它 – sonill 2010-05-19 05:00:17

0

控制器

型號

function insertProduct(){ 
     $data = array( 
      'name'   => db_clean($_POST['name']), 
      'shortdesc'  => db_clean($_POST['shortdesc']), 
      'longdesc'  => db_clean($_POST['longdesc'],5000), 
      ... 
        ... 
      'image1'  => db_clean($_POST['image1']), 
      'image2'   => db_clean($_POST['image2']) 
     ); 
     $this->db->insert('omc_product', $data);  
     $new_product_id = $this->db->insert_id(); 
    } 

查看

echo form_open_multipart('products/admin/create')."\n"; 

echo "<p><label for='parent'>Category</label><br/>\n"; 
echo form_dropdown('category_id',$categories) ."</p>\n"; 


echo "<p><label for='pname'>Name</label><br/>"; 
$data = array('name'=>'name','id'=>'pname','size'=>25); 
echo form_input($data) ."</p>\n"; 

... 

echo "<p><label for='image1'>Select Image</label><br/>"; 
$data = array('name'=>'image1','id'=>'image1','size'=>80); 
echo form_textarea($data) ."</p>\n"; 

echo "<p><label for='image2'>Select another image</label><br/>"; 
$data = array('name'=>'image2','id'=>'image2','size'=>80); 
echo form_textarea($data) ."</p>\n"; 

... 
... 
echo form_submit('submit','create product'); 
echo form_close(); 
+0

你可以做到沒有tinymce – sonill 2010-05-19 05:14:09