2016-11-18 83 views
0

您好,我使用Codeigniter一次上傳3張圖片,我可以成功上傳,但我不知道如何從3張圖片中獲取網址(我只能從最後一張圖片獲取網址。)(我想插入3張圖片URL數據庫)Codeigniter 3 - 我可以從3張圖片中獲取圖片上傳的網址嗎?

這裏是我的代碼

控制器

public function add_event() 
    { 

$config['upload_path']   = 'images/location'; 
    $config['allowed_types']  = 'gif|jpg|png'; 
    $config['max_size']    = 2048; 
    $config['max_width']   = 2000; 
    $config['max_height']   = 1500; 

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

$this->upload->do_upload('userfile'); 
$this->upload->do_upload('userfile2'); 
$this->upload->do_upload('userfile3'); 

$data_upl = array('upload_data' => $this->upload->data()); 

$this->load->view('admin/success', $data_upl); 
} 

myuploadform視圖

 <?php echo form_open_multipart('admin/add_event') ?> 

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

      pic2 
      <input type="file" name="userfile2" size="20" /> 


      pic3 
      <input type="file" name="userfile3" size="20" /> 

      <input type="submit" value="upload"/> 
     <?php echo form_close(); ?> 

我SUC cess頁面視圖(我想回顯3頁圖片的網址!但我只得到1個網址最後的圖像)(其實我想插入到數據庫)

<h1>Successfully Add</h1> 

<ul> 
<li><?php echo $upload_data['full_path'];?></li> 
</ul> 

回答

3

我認爲這 - $> upload->數據()取最後上傳文件的信息,是不是?你可以做的print_r($ upload_data)? 或者你可以嘗試這樣的事情嗎?

$upload_data=array(); 
$this->upload->do_upload('userfile'); 
$upload_data['1']= $this->upload->data()); 
$this->upload->do_upload('userfile2'); 
$upload_data['2']= $this->upload->data()); 
$this->upload->do_upload('userfile3'); 
$upload_data['3']= $this->upload->data()); 
2

$這個 - > upload->數據()是最後上傳的數據,所以請儘量

........ 

$alldata=array(); 
$this->upload->do_upload('userfile'); 
$alldata[]=$this->upload->data(); 

$this->upload->do_upload('userfile2'); 
$alldata[]=$this->upload->data(); 

$this->upload->do_upload('userfile3'); 
$alldata[]=$this->upload->data(); 

$data_upl = array('upload_data' => $alldata); 

.......

<h1>Successfully Add</h1> 

<ul> 
<li><?php print_r($upload_data);?></li> 
</ul> 
1

在這個階段你正在上傳3個文件,但只獲取最後插入文件的數據。

$this->upload->do_upload('userfile'); 
$this->upload->do_upload('userfile2'); 
$this->upload->do_upload('userfile3'); 
$data_upl = array('upload_data' => $this->upload->data()); 

你應該得到每個文件的數據並推送到數組。像

$data = array(); 
$data['upload_data'] = array(); 
$this->upload->do_upload('userfile'); 
$data['upload_data'][0] = $this->upload->data(); 
$this->upload->do_upload('userfile2'); 
$data['upload_data'][1] = $this->upload->data(); 
$this->upload->do_upload('userfile3'); 
$data['upload_data'][2] = $this->upload->data();