2016-03-21 14 views
0

Bu benim kod kontrolörleri "contract.php"Nasıl Codeigniter yükledikten sonra Dosya ve Görüntü Sil?

function delete($con_id){ 
     //$year=$this->session->userdata('year'); 
     $path = ('/assets/upload/employees/contracts/'); 
     $get_file = $path.$con_id.'.jpg'; 
     $this->db->where('con_id',$con_id); 
     $this->db->delete('sch_emp_contract'); 
     if(file_exists($get_file)){ 
      unlink(base_url("/assets/upload/employees/contracts/'.$con_id.")); 
     } 

     $m=''; 
     $p=''; 
     if(isset($_GET['m'])){ 
      $m=$_GET['m']; 
     } 
     if(isset($_GET['p'])){ 
      $p=$_GET['p']; 
     } 

     redirect("employee/contract?m=$m&p=$p"); 
    } 

Bu kod Görünüm contract_list.php - Düğme Sil

<td width="1%" class="remove_tag">'; 
    if($this->green->gAction("D")){ 
    $tr .='<a title="Delete Contract" id="clk_del" class="clk_del"> 
<img rel="'.$contract['con_id'].'" src="'.site_url('../assets/images/icons/delete.png').'" onclick="delete_contrac (event);" style="width:20px;height:20px;"></a>';}$tr .='</td> 

Fonksiyon

function delete_contract(event){ 
    var r = confirm("Are you sure to delete this record !"); 
    if(r == true){ 
    var contr_id= $(event.target).attr('rel'); 
    location.href="<?PHP echo site_url('employee/contract/delete');?>/"+contr_id+"?<?php echo "m=$m&p=$p" ?>"; 
    } 
} 

Başarı Veritabanı ama Klasör dosyasından Sil ve Resim yükleme silinemiyor.

cevap

1

base_url() işlev url verir ama burada Silmek istediğiniz dosyanın dizin yolunu kullanmak zorunda.

$path = BASEPATH.'/assets/upload/employees/contracts/'; 
$get_file = $path.$con_id.'.jpg'; 
if(file_exists($get_file)){ 
    unlink($get_file); 
} 

yerine unlink(base_url("/assets/upload/employees/contracts/'.$con_id."));

1

file_exists öğesinin doğru veya yanlış döndüğünü kontrol edin. Öyleyse böyle bir şey dene. Eğer proje içinde

$path = BASEPATH.'/assets/upload/employees/contracts/';//get absolute path 
     $get_file = $path.$con_id.'.jpg'; 
     $this->db->where('con_id',$con_id); 
     $this->db->delete('sch_emp_contract'); 
     if(file_exists($get_file)){ 
      unlink($get_file); 
     } 
İlgili konular