2011-04-13 12 views
2

私の最後の質問が混乱した場合、私は、私の具体的な答えを得るのを助けるために申し訳ありません私の質問を言い換えている:削除画像 - > CodeIgniterの

私は、データベースから行を削除しようとすると問題があるだけでなく、どのように組み込みます画像を別の場所からリンク解除します。削除する行やリンク解除するイメージは取得できません。ここで

は私れる - >db structure

私のイメージの場所は次のとおりです。

fullpath = /includes/uploads/gallery/ 

thumbpath = /includes/uploads/gallery/thumbs/ 

理想状況:とき削除リンク私の理想的な状況がどうなるか

ですその関数をインデックス関数内で実行し、同じページをリロードすることをクリックします成功のメッセージ - >私はうまくそれらを働かせることができなかった。

マイコード:

モデル:

function deleteImage($id,$path){ 

     $this->db->delete('images', array('id' => $id)); 

     if($this->db->affected_rows() >= 1) { 
      if(unlink($path) 
       return TRUE; 
      } else{ 
       return FALSE; 
      } 
     }  

ビュー:

<?php if(is_array($get_images)): ?> 

      <?php foreach($get_images as $image): ?> 
      <img src ="<?=base_url()?>includes/uploads/gallery/thumbs/<?=$image->thumbpath?>" alt="<?= $image->description?>"> <a href="deleteimage/delete/<?=$image->id?>">Delete</a> 
      <?php endforeach; ?> 
    <?php endif; ?> 

コントローラー:

function index() { 
    if(!$this->session->userdata('logged_in')) { 
     redirect('admin/home'); 
    } 
    // Main Page Data 
    $page['get_images'] = $this->image_model->getImages(); 
    $data['cms_pages'] = $this->navigation_model->getCMSPages(); 
    $data['title'] = 'Delete Gallery Image'; 
    $data['content'] = $this->load->view('admin/deleteimage',$page,TRUE); 

    $this->load->view('admintemplate', $data); 

} 

答えて

2

は次のとおりです。

ます$ this-> DB->()を削除します。

メモリから、これはエラーが発生した場合にのみfalseを返しますので、常にtrueを返します。しかし、別の関数を使って行が削除されたかどうかを確認することはできます。

ああ、削除したいファイルのパスを関数に渡したい場合もあります。

 

function deleteImage($id,$path) { 

$this->db->delete('table', array('id' => $id)); 

    if($this->db->affected_rows() >= 1){ 
     if(unlink($path)) 
     return TRUE; 
    } else { 
     return FALSE; 
    } 

} 
 
+0

ちょっと、私はそれを特定の場所から削除することができます、私はdbにファイル名を保存して、私は親指と完全な画像行を持っています。 –

1

おそらくあなたはある種の画像IDを持っています。

IDをdeleteimage/delete URIに追加します。

テーブルからIDを削除するメソッドを作成し、PHPのunlink($path)関数を使用して実際に画像を削除します。あなたがアクティブなレコードを使用している場合を探しているのは何

+1

'はunlink()' – jfoucher

+0

私は私の質問を更新しようと思いますがどうあるべき - あなたが正しいですDOH私は離れて歩いていると言うと、私は今Wh1T3h4Ck5 @笑 –

+0

を自分自身を蹴っています、ときに自分が混乱しました私はOPの記事を読んで、* unset *と述べました!自分自身を訂正しました。 – Ross

2
function delete_data($record_id) 
{ 
    $query = $this->db->get_where('projukti_committee',array('record_id' => $record_id)); 
    if($query->num_rows() > 0) 
    { 
     $row = $query->row(); 
     $picture = $row->picture; 
     unlink(realpath('assets/photo/'.$picture)); 
     $this->db->delete('projukti_committee', array('record_id' => $record_id)); 
     return true; 
    } 
    return false; 
} 
関連する問題