2017-02-14 32 views
1

下面是我嘗試將數據庫結果寫入文本文件的代碼。但是我不斷收到上面的錯誤信息。我想這與語法有關,但我無法解決它。請分享你如何弄清楚。遇到PHP錯誤嚴重程度:警告消息:fwrite():39不是有效的流資源

 public function createfile(){ 

     $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 

     $this->db->select('*'); 
     $this->db->from('crd_article_desc'); 
     $query = $this->db->get(); 
     $result=$query->result_array();   

    $txt =''; 
    $counter = 1;      
    foreach($result as $results){ 

    $vp_string = trim($results['article_title']); 

    $vp_string = html_entity_decode($vp_string); 

    $vp_string = strip_tags($vp_string); 

    $vp_string = strtolower($vp_string); 

    $vp_string = preg_replace('~[^ a-z0-9_.]~', ' ', $vp_string); 

    $vp_string = preg_replace('~ ~', '-', $vp_string); 

    $vp_string = preg_replace('~-+~', '-', $vp_string); 

    $new_friendly_url = $vp_string; 
    echo $results['article_title']; 
    $looptxt = $results['article_id']."-".$new_friendly_url."\n"; 

    $txt=$txt.$looptxt; 

    fwrite($myfile,$txt); 
    fclose($myfile); 
} 

回答

0

糾正我,如果我錯了,但在你的代碼

foreach($result as $results){ 

    [...] 
    $txt=$txt.$looptxt; 

    fwrite($myfile,$txt); 
    fclose($myfile); 
} 

,在我看來,如果你是封閉循環中的文件。在循環的第二次迭代中,您試圖寫入剛剛關閉的文件,當然這會失敗。

我認爲要解決這個問題你剛纔的fwrite

foreach($result as $results){ 

    [...] 
    $txt=$txt.$looptxt; 
    } 

    fwrite($myfile,$txt); 
    fclose($myfile); 
} 
+0

感謝保羅之前關閉循環。很好的答案!問題解決了。 – Pramod

+0

很高興我能幫到你 –

相關問題