2016-04-12 17 views
0

Tek bir tıklamayla birden çok resmi yükleyin. Şifrelenmiş ad ile resim yükleme, ancak veritabanı orijinal görüntü adında isim kaydet. Bu şifrelenmiş adı veritabanında kaydetmek istiyorum.Fotoğraf galerisi Şifreli bir adla birden çok görüntü yüklüyorum Fakat bu şifrelenmiş adı veritabanına kaydetmek istiyorum

Benim denetleyicisi kodudur:

public function file_upload2(){ 
    if($this->session->userdata('is_loged_in')){ 
     $config = array(); 
     $config['image_library'] = 'gd2'; 
     $config['upload_path'] = './photo/'; //give the path to upload the image in folder 
     $config['allowed_types'] = 'gif|jpg|png|jpeg|JPG'; 
     $config['max_size'] = 0; 
     $config['maintain_ratio'] = FALSE; 
     $config['encrypt_name'] = TRUE; 
     $config['overwrite'] = TRUE; 
     $this->form_validation->set_rules('category', 'Category', 'required|trim'); 
     if ($this->form_validation->run() == TRUE){ 
      $files = $_FILES; 
      $cpt = count($_FILES['userfile']['name']); 
      for($i=0; $i<$cpt; $i++){ 
       $_FILES['userfile']['name']= $files['userfile']['name'][$i]; 
       $_FILES['userfile']['type']= $files['userfile']['type'][$i]; 
       $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i]; 
       $_FILES['userfile']['error']= $files['userfile']['error'][$i]; 
       $_FILES['userfile']['size']= $files['userfile']['size'][$i]; 
       $this->upload->initialize($config); 
       $this->upload->do_upload(); 
       $fileName = $_FILES['userfile']['name']; 
       $images[] = $fileName; 
       } 
      $category = $this->input->post('category'); 
      $fileName = implode(',',$images); 
      $this->Upload_model->upload_image($fileName,$category); 
      if($this->upload->do_upload()){ 
      $this->success(); 
      } else { 
       $this->index(); 
      } 

     } else { 
      $this->index(); 
     } 
    } else { 
     redirect('admin'); 
    } 
} 

Benim Modeli: Eğer php $_FILES dizi hakkında hiçbir şey bilmiyor, çünkü CodeIgniter'ın yükleme verilerini kullanmak, yükleme

public function upload_image($fileName,$category){ 
    if($fileName!=''){ 
     $filename1 = explode(',',$fileName); 
     foreach($filename1 as $file){ 
      $file_data = array(
       'name' => $file, 
       'datetime'=> date('Y-m-d h:i:s'), 
       'category'=> $category 
      ); 
     $this->db->insert('photo', $file_data); 
     } 
    } 
} 

cevap

0

Şifrelenmiş ad:

if ($this->upload->do_upload()) { 
    $data = $this->upload->data(); 
    echo $data['file_name']; // Here is the encrypted filename 
} 
İlgili konular