遇到 PHP 错误严重性:警告消息:fwrite():39 不是有效的流资源
A PHP Error was encountered Severity: Warning Message: fwrite(): 39 is not a valid stream resource
下面是我尝试将结果从数据库写入文本文件的代码。但我不断收到上述错误消息。我想这与语法有关,但我无法解决它。请分享您的解决方法。
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);
}
如果我错了请纠正我,但在你的代码中
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);
}
下面是我尝试将结果从数据库写入文本文件的代码。但我不断收到上述错误消息。我想这与语法有关,但我无法解决它。请分享您的解决方法。
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);
}
如果我错了请纠正我,但在你的代码中
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);
}