沦陷今生 发表于 2014-8-11 09:58:53

write_file函数怎么会无缘无故生成images.html和js.html?

本帖最后由 沦陷今生 于 2014-8-11 10:03 编辑

控制器代码public function update($id = 0)      {
                $data['title'] = $this->input->post('title', TRUE);
                $data['content'] = $this->input->post('content', TRUE);//过滤post数据
               
                $this->load->model('blog_m');
                $this->blog_m->update($id, $data);//修改完成
               
                $info['blog'] = $this->blog_m->get_blog_by_id($id);//重新取出数据
                $html = $this->load->view('blog/view',$info,true);//把展现的前台代码保存
               

               
                $this->load->helper('file');//生成
                if(!write_file("blog/{$id}.html", $html))
      {
             $this->_message('修改失败!', 'blog/index', FALSE,'',1000);
      }
      else
      {
             $this->_message('修改成功!', 'blog/index', FALSE,'',1000);
      }
               
      }
模型代码
public function get_blog_by_id($id = 0)
        {
                return $this->db->where('id', $id)->get('blog')->row();
        }

function update($id, $data)
        {
                return $this->db->where('id', $id)->update('blog', $data);       
        }



视图模板文件

<?php


echo $blog->title?$blog->title:'';
echo "<br />\n";
echo $blog->content?$blog->content:'';

?>


然后blog文件夹里面每次除了生成id.html还另外生成images.html和js.html
里面的代码内容是

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Notice</p>
<p>Message:Trying to get property of non-object</p>
<p>Filename: blog/view.php</p>
<p>Line Number: 4</p>

</div><br />
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Notice</p>
<p>Message:Trying to get property of non-object</p>
<p>Filename: blog/view.php</p>
<p>Line Number: 6</p>

</div>


请问怎么会多生成这个两个没指定的文件呢?怎么让它们不生成?谢谢各位

smallerpig 发表于 2014-8-11 10:13:02

先把提示的两个错误改了再试试呢,提示你没有取到对应的blog实体

沦陷今生 发表于 2014-8-11 10:25:02

本帖最后由 沦陷今生 于 2014-8-11 10:28 编辑

smallerpig 发表于 2014-8-11 10:13
先把提示的两个错误改了再试试呢,提示你没有取到对应的blog实体
我把视图文件改成了

<?php

//echo $blog->title?$blog->title:'';
echo "www<br />\n";
//echo $blog->content?$blog->content:'';

?>

之后还是一次生成三个文件
2.html
images.html
js.html
后两个文件里面没有报错信息输出了 三个文件的html代码都是www<br />后两个文件为什么会无缘无故跟着一起生成呢。。。很不理解。。。我明明只要求生成一个文件write_file("blog/{$id}.html", $html)





smallerpig 发表于 2014-8-11 10:42:31

http://codeigniter.org.cn/forums/thread-8897-1-1.html
可以参考下
页: [1]
查看完整版本: write_file函数怎么会无缘无故生成images.html和js.html?