CI对文本文件操作,多行文本textarea 读和存有问题。
view:<textarea id="readtxt" name="readtxt" style="width:100%;height:300px;" ><?php echo set_value('readtxt',$readtxt); ?></textarea>
Control:
//存
if(read_file($txt))
{//读
$output=read_file($txt);
}
else
{
$output="User-agent: *
Allow: /
Sitemap: http://".$_SERVER['SERVER_NAME']."/sitemap.xml";
write_file($txt, $output,'a+');
}
$output=str_replace("\n","",$output);
$data['readtxt']=$output;
--------------------------------
//取出,上一步保存的txt无问题,但下面再存一下就多了好多格
$output=$this->input->post('readtxt');
$output=(str_replace("","\n",$output));
write_file($txt, $output,'r+');
$data['success'] = '<div class="suc">更新成功!</div>';
$output=read_file($txt);
$output=str_replace("\n","",$output);
$data['readtxt']=$output;
$this->load->view('admin/setting/edit_txt',$data); 到底想做什么?没太看明白。 对robots.txt操作
1:不存在robots.txt就自动生成
2:robots.txt在多行文本textarea 读出,能修改和保存。
但保存的robots.txt用记事本打开会有多余的空格,但网页上打开没问题。 这个你需要用 var_dump 来分析下,跟 CI 没什么关系。 var_dump($output) ;
都没有见到换行的。
======>
ing(60) "User-agent: * Allow: / Sitemap: http://127.0.0.1/sitemap.xml" 那保存也不会出现空格。
除非 PHP 保存文件函数有问题,不过这个可能性是0% 呵呵 本帖最后由 linkipod 于 2011-3-10 17:29 编辑
我用CI2.0也发现了这个问题,很明显这是CI的一个严重bug,CI1.7.2没发现这样的问题。具体现象是,提交textarea时候 如果里面包括换行符 \n ,在接收的时候换行符会被复制一次,如果是html标签,也是一样。textarea里面不能有html标签,真是很郁闷,早知道不迁移到2了。我仔细检查了提交和输入的所有代码,没有任何问题,新建一个原始php文件测试,一切正常,换成CI,问题依旧,估计是CI销毁了post的值,然后自己又重新生成了一份,我很郁闷的是,为什么只重复html标签,不重复文本域里面的文字
去找了半天CI的核心输入输出文件
发现应该是在这里出了问题 system/core/Input.php第506-512行
if ($this->_standardize_newlines == TRUE)
{
if (strpos($str, "\r") !== FALSE)
{
$str = str_replace(array("\r\n", "\r"), PHP_EOL, $str);
}
}
,搜索了一下这个函数 _clean_input_data
在国外论坛发现一篇文章给出了解决办法
http://codeigniter.com/forums/viewthread/180827/ 6楼
替换成如下
if ($this->_standardize_newlines == TRUE)
{
if (strpos($str, "\r") !== FALSE)
{
//$str = str_replace(array( "\r\n", "\r"), PHP_EOL, $str);
$str = preg_replace('/(?:\r\n|[\r\n])/', PHP_EOL, $str);
}
}
这个问题没记错的话,1.72好像也有 我也一直在查詢这个问题...
我用的是stblog中的文件皮肤修改 方法都一样...可是就是textarea会多换一行.
不过我用的ci版本是2.0!
问题到现在还没有人看...
http://codeigniter.org.cn/forums/thread-8445-1-1.html 我用CI2.0也发现了这个问题,很明显这是CI的一个严重bug,CI1.7.2没发现这样的问题。具体现象是,提交texta ...
linkipod 发表于 2011-3-10 16:39 http://codeigniter.org.cn/forums/images/common/back.gif
我替换上你的...一样会有错误...而且还会解析不了一些html...
页:
[1]
2