2017-02-10 83 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