升东运维是一家专业从事Linux/Freebsd Unix/Windows平台网站维护业务的公司,专业提供Linux(CentOS Redhat Ubuntu等),Unix(Freebsd),Nginx,Apache等系统及网站维护,七年从业经验

Archive for the ‘Codeigniter’ Category

Codeigniter2.0 textarea POST传值 换行符 html标签重复解决办法

星期四, 三月 10th, 2011

为了解决这个问题,浪费了我整整一下午的时间,具体现象如下,提交textarea的时候,$_POST打印出的值里面的换行符\n会重复,开始我以为是程序写错了,找了很久,发现没问题。然后又想到是不是编码问题,utf8有无BOM都试了一下,还是没发现问题。因为我是直接打印$_POST,我还以为这些东西都是纯洁的,没想到CI已经处理了一次,找了半天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);
}
}

替换成如下即可:

if ($this->_standardize_newlines == TRUE)
{
if (strpos($str, “r”) !== FALSE)
{
//$str = str_replace(array( “\r\n”, “\r”), PHP_EOL, $str);
$str = str_replace(array(“\r\n”, “\r”, “\r\n\n”), PHP_EOL, $str);

}
}

 

 

codeigniter Nginx 伪静态规则

星期二, 三月 1st, 2011

if ($request_filename !~* /(javascript|css|images|fckeditor|userfiles|crontab|robots\.txt|index\.php)) {
rewrite ^/(.*)$ /index.php?$1 last;
}

Codeigniter1.72自定义全局变量(类库实现)

星期五, 十二月 17th, 2010

本例进行了数据库查询,页面存放于 system/libraries/Var.php,
在config/autoload.php自动加载该类库
$autoload[‘libraries’] = array(‘vars’);

<?php
if (!defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
error_reporting(0);
class vars{
var $CI;
function vars(){
$this->CI = & get_instance();
$this->CI->load->database();  // load database library, if need
$query = $this->CI->db->get(‘setting’);   //active record 见注释1
foreach ($query->result_array() as $value)
{
$site_info[‘CI_sitename’]=$value[‘sitename’];
$site_info[‘CI_site_keywords’]=$value[‘site_keywords’];
$site_info[‘CI_site_description’]=$value[‘site_description’];
$site_info[‘CI_footer_copyright’]=$value[‘footer_copyright’];
$site_info[‘CI_footer_en_copyright’]=$value[‘footer_en_copyright’];
$site_info[‘CI_footer_phone’]=$value[‘footer_phone’];
$site_info[‘CI_footer_cp_adress’]=$value[‘footer_cp_adress’];
$site_info[‘CI_footer_ipc_num’]=$value[‘footer_ipc_num’];
$site_info[‘CI_echologin’]=$value[‘echologin’];
}
$this->CI->load->vars($site_info);
}
//
}//见注释2

注释1:设置需要加载的表名,这里取一个表的数据,如果想获取其他数据并设置过滤,请阅读CI手册中关于active record 部分http://codeigniter.org.cn/user_guide/database/active_record.html

注释2: 这里并不需要结尾的"?>"