这篇文章主要介绍了smarty中英文多编码字符截取乱码问题解决方法,涉及到对原有smartTruncate的修改,非常具有实用价值,需要的朋友可以参考下本文实例讲述了smarty中英文多编码字符截取乱码问题解决方法,分享给大家供大家参考。具体方法如下:一般网站页面的显示都不可避免的会涉及子字符串的截取,这个时候truncate就派上用场了,但是它只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截...
本文介绍下,php中date函数时区问题,引起输出时间有误的解决方法,有需要的朋友,参考下吧。问题:echo date(o-m-j H:i); 输出结果与本地时间相差8小时。 原因:时区未正确设置。解决方法: 方法1、加入 date_default_timezone_set(Asia/Shanghai); 方法2,修改php.ini [Date] ; Defines the default timezone used by the date functions date.timezone = PRC 注:PRC为中化人民共和国 动手测试吧,一试便知,轻松解决date函数时区...
$string = '0123456789abcdefghijklmnopqrstuvwxyz';$length = strlen($string);function makeDir($param){if(!file_exists($param)) {echo "mkdir ".$param."\n”;exec("mkdir ".$param);}}for($i = 0; $i for($j = 0; $j makeDir('/data/session_tmp/'.$string[$i].'/'.$string[$j]);}}?> session目录分级处理之后,IO处理值增加,http进程降低,web处理效率明显好转。
本文介绍下,在实际的生产环境中,phpmyadmin偶尔响应很快,导致大量的边接处于wait状态,本文给出一种解决方法,供大家参考。安装了最新版的phpmyadmin,却发现间或的反应超慢。 查看nginx的日志,发现报fastcgi连接超时。 然后打开fastcgi的慢日志,发现如下错误: [10-May-2013 11:15:16] [pool www] pid 10992 script_filename = /usr/share/nginx/html/phpmyadmin-1688/version_check.php [0x0000000002902e78] file_get_con...
$str = '中华人民共和国123456789abcdefg';echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName);?> 运行以上代码,会提示: Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:wwwrootphptest.php on line 2 原因在于:PHP正则表达式中不支持下列 Perl 转义序列:L, l, N, P, p, U, u, or X 在 UTF-8 模式下,允许用“x{...}”,花括号中的内容是表示十六...
output_buffering = Offoutput_handler =zlib.output_compression = On 即可实现为全站的php文件启用gzip加速。 对于html文件,可以通过配置.htaccess文件,由php来处理html请求(会加重服务器负担,建议在nginx或apache上做gzip处理):AddHandler x-httpd-php .html .htm问题: 默认安装的PHP5.3,一旦开启了Gzip压缩输出功能,打开网站首页会无法显示。 这是由于PHP配置有问题造成的,5.3默认配置如下: output_buffering=4096;将...
本文介绍下,在php编程中,操作JSON时出现中文乱码的解决方法,有需要的朋友,不妨参考下。在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中文 乱码的情况。 解决PHP JSON中文乱码的方法与PHP Ajax传值中文字符乱码的解决方法类似。 下面为大家介绍下具体的几种方法。 PHP与JSON交互时出现中文乱码的原因: 由于JSON与JS一样,对于客户端的字符是以UTF8的形式...
/*** 解决跨浏览器下载文件,中文乱码的问题* edit bbs.it-home.org*/$ua = $_SERVER["HTTP_USER_AGENT"];$filename = "中文 文件名.txt";$encoded_filename = urlencode($filename);$encoded_filename = str_replace("+", "%20", $encoded_filename);header('Content-Type: application/octet-stream');if (preg_match("/MSIE/", $ua)) { header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');} els...
一.内存溢出解决方案在做数据统计分析时,经常会遇到大数组,可能会发生内存溢出,这里分享一下我的解决方案。还是用例子来说明这个问题,如下:假定日志中存放的记录数为500000条,那么解决方案如下: 代码如下:ini_set(‘memory_limit,64M); //重置php可以使用的内存大小为64M,一般在远程主机上是不能修改php.ini文件的,只能通过程序设置。注:在safe_mode(安全模式)下,ini_set失效 set_time_limit(600);//设置超时限制为...
$i = 3;ob_start();while ($i--) { echo $i, ""; ob_flush(); flush(); sleep(1);}ob_end_clean();?> 问题:这段代码不能每隔一秒输出呢? 原因分析: apache运行原理:当访问一个地址(发送请求)后,在apache服务器中启动PHP,php执行是页面级的,如果有可执行的代码: 它全部执行完后再丢给apache,apache再丢给browser显示结果。 解决方法: 如果是cli 显示结果方式又不一样,那里不一样呢? linux cmd: php5 test.php ...
/*** 改进的substr* edit bbs.it-home.org*/function getstr($string, $length, $encoding = 'utf-8') { $string = trim($string); if($length && strlen($string) > $length) { //截断字符 $wordscut = ''; if(strtolower($encoding) == 'utf-8') { //utf8编码 $n = 0; $tn = 0; $noc = 0; ...
session.save_handler = eaccelerator前提是已经安装了:eaccelerator。 2、使用session的分级目录 修改;session.save_path = "/tmp" 修改为:session.save_path = "2;/tmp/session" 使用/tmp/session目录下二级散列目录存储session php不会自动建立散列目录,需要手动创建相应的目录,并给予权限:find /tmp/session -amin +180 -exec rm -rf {} \; 说明: 1小时清理一次,清理大于3个小时的session文件。 我目前采用的第三个方法...
本文介绍下,在使用php的字符串截取函数substr,截取中文字符时出现乱码的解决方法。有需要的朋友参考下吧。php字符串截取函数substr: string substr ( string $string , int $start [, int $length ] ) 返回string中从start位置开始长度为length的字符串 substr函数在截取字符,是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会...
本文介绍下,在php中进行url伪静态、以及gzip同时开启时,会引发冲突的原因及解决方法。有需要的朋友参考下。问题描述: 单纯开启url伪静态,不开启gzip,网站正常; 单纯开启gzip,不开启url伪静态,网站正常; 同时开启url伪静态和gzip,网站无法正常显示,有时显示不出内容,刷新后自动refresh等等问题。 解决办法,如下: 1、修改服务器设置法: 到服务器里,从php.ini找出:zlib.output_compression 这条,把zlib.output_com...
$ip = "192.168.1.2";$ip_n = ip2long($ip);echo $ip_n; //得到 -1062731518?>原因: IP转换成的整型值太大超出了整型的范围,所以变成负数。 需要做如下的修改,修改为$ip_n = bindec(decbin(ip2long($ip)))即可得到无符号的整型数。 例如:$ip = "192.168.1.2";$ip_n = bindec(decbin(ip2long($ip)));//by bbs.it-home.orgecho $ip_n; //得到 3232235778?>