0

私はこの機能を持っています

function c_del()
{
    $session_data = $this->session->userdata('logged_in');
    $uname  = $session_data['username'];
    $query  = $this->user_m->viewDetail($uname);
    foreach($query as $row)
        {
            $username=$row->username;
        }
    $id_calon_reg=$_GET['a'];
    $query1 = $this->candidate_m->del_calon($id_calon_reg);
    $query3 = $this->candidate_m->search_calon($id_calon_reg);
    foreach($query3 as $row)
        {
            $foto_calon=$row->foto_calon;
        }
    unlink($foto_calon);
    $query2 = $this->candidate_m->viewAll();
    $data=array(
        "query"=>$query2,
        "username"=>$username
    );
    $this->load->helper(array('form'));
    $this->load->view('candidate_view',$data);
}

$foto_calon に保存されているパスのリンクを解除したいのですが、このエラーが発生します

PHP エラーが発生しました

重大度: 通知

メッセージ: 未定義の変数: foto_calon

ファイル名: controllers/candidate.php

ライン番号: 67

67行目は、unlink関数を呼び出す場所です。

しかし、変数 $foto_calon は foreach で既に定義しています。

ユーザー名を $username に保存したいときの最初の foreach は成功しましたが、2 番目の foreach でエラーが発生しました。

何が問題なのかわかりません。誰でも教えてもらえますか?

4

2 に答える 2

0

交換してみる

foreach($query3 as $row)
{
   $foto_calon=$row->foto_calon;
}

if(is_array($query3)) {
    foreach($query3 as $row)
    {
        $foto_calon=$row['foto_calon'];
    }
}

結果配列内の foto_calon の各行のリンクを解除する場合は、そのリンク解除をこの foreach ループに入れます。

if(is_array($query3)) {
    foreach($query3 as $row)
    {
        $foto_calon=$row['foto_calon'];
        unlink($foto_calon);
    }
}
于 2013-06-10T07:12:23.370 に答える
0

次のように、リンク解除を foreach に入れてみてください。

    $id_calon_reg=$_GET['a'];
    $query1 = $this->candidate_m->del_calon($id_calon_reg);
    $query3 = $this->candidate_m->search_calon($id_calon_reg);
    foreach($query3 as $row)
        {
            $foto_calon=$row->foto_calon;
            unlink($foto_calon);
        }
于 2013-06-10T07:13:11.703 に答える