2017-02-10 45 views
1
$ols_produk = $this->db->query("SELECT files FROM galeri_files WHERE id_galeri = '$id'"); 
    $file = $ols_produk->result(); 

    echo "<pre>"; 
    print_r($file); 

    echo "</pre>"; 

    if($file != ''){ 
     foreach ($file as $key=>$value) { 
      unlink('gambar/galeri/'.$key); 
     } 
    } 

的價值,當我在看print_r($file);結果是如何獲得陣列

Array 
(
    [0] => stdClass Object 
     (
      [files] => g+.png 
     ) 

    [1] => stdClass Object 
     (
      [files] => andbook.pdf 
     ) 
) 

,我不能斷開鏈接的文件,因爲它選擇陣列的數量, 如何獲取該文件?

回答

0

你$文件是對象的數組,的foreach將獲得價值爲對象,並使用 - >訪問成員,因爲這:

foreach ($file as $v) { 
    unlink('gambar/galeri/'.$v->files); 
} 
+1

它的工作,謝謝 – Willy

0

試試這個:

foreach ($file as $key=>$value) { 
    unlink('gambar/galeri/'.$value['files']); 
} 
+0

還是不能。它說「不能使用stdClass類型的對象作爲數組」 – Willy

+0

他正在得到一個不是數組的結果對象,這種語法不會工作... –

0

像this.Use codeigniter的result_array()結果集從數據庫中獲取數組格式的值。

$ols_produk = $this->db->query("SELECT files FROM galeri_files WHERE id_galeri = '$id'"); 
    $file = $ols_produk->result_array(); 

    echo "<pre>"; 
    print_r($file); 

    echo "</pre>"; 

    if(count($file)>0){ 
     foreach ($file as $key=>$value) { 
      unlink('gambar/galeri/'.$value['files']); 
     } 
    } 

更多看到Codeigniter Result Sets