Sipo Blog

宁静致远

小测PHP空白量gz压缩输出比较

  原始字节 有效字节 冗余空白量(包含\t\r\n\s)
未压缩 2443 2004 439
ob_gzhandler 417 383 34
压缩比 17% 19% 7.8%

诚然,虽然不是很准。但至少说明了2件事。

1)空白字符的压缩效率的确很高。

2)做HTML清理与不做HTML清理差距的确有,但是不是很大。但是做Gz和不做gz差距不仅有,而且的确很大。

因此,如果不在前端做html清理也无所谓。但是不做gz就不能无所谓了。

不过偶还是考虑用obstart再obendclean做MVC的清理试试。

IZOQ PHP Framework 小型PHP框架 v0.1发布

1)ORM 手册

2) MVC手册

3)分页

4)脚手架

5)其他

APACHE conf

NameVirtualHost *:82
    <VirtualHost *:82>
    ServerName www.dc9.cn
    DocumentRoot "c:/"
    <Directory "c:/">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>

...

The PHP-Ext Open Source Project

ExtJs 已经升级到3.2了,PHP也有自己的ExtJs 的实现了 PHP-Ext
这个工程仅仅是基于Ext 2.0的,虽然差一个版本,但实际上3.0和2.0没有本质的区别
还凑合够用。今天下载了Zend Studio IDE, 终于准备进军PHP了,妈的环境所迫啊
各大网络公司都用PHP,我却游离在C#里面,久违的PHP啊,我来了
让我看看你的命名空间,长成啥样啦?

PHP解析CSV字符串转换为数组

fgetcsv的简易替代:

function parse_csv($file, $options = null) { 
    $delimiter = empty($options['delimiter']) ? "," : $options['delimiter']; 
    $to_object = empty($options['to_object']) ? false : true; 
    $expr="/,(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))/"; // added 
    $str = $file; 
    $lines = explode("\n", $str); 
    $field_names = explode($delimiter, array_shift($lines)); 
    foreach ($lines as $line) { 
        // Skip the empty line 
        if (empty($line)) continue; 
        $fields = preg_split($expr,trim($line)); // added 
        $fields = preg_replace("/^\"(.*)\"$/","$1",$fields); //added 
        //$fields = explode($delimiter, $line); 
        $_res = $to_object ? new stdClass : array(); 
        foreach ($field_names as $key => $f) { 
            if ($to_object) { 
                $_res->{$f} = $fields[$key]; 
            } else { 
                $_res[$f] = $fields[$key]; 
            } 
        } 
        $res[] = $_res; 
    } 
    return $res; 

GROUP BY 的COUNT

SELECT count(*) FROM ( SELECT COUNT(*) FROM www_dc9_cn group by dc9_uid ) AS dc9

MYSQL

DISCUZ 6的一个的不是BUG的问题(TPL)仅记录一下

怕忘了。

<!--{loop $ti[stxxarray2] $index2 $xx2}-->
<input type="radio" name="shiti[da][$ti[stid]]" value="$index2"/>$xx2<br/>
<!--{/loop}-->
//http://www.dc9.cn

问题出在这个name里面的多重嵌套的括号。
Parse error: syntax error, unexpected ']', expecting ',' or ';' in F:\PHPnow-1.4.5\htdocs\b2\forumdata\templates\xx.tpl.php on line 15

<!--{loop $ti[stxxarray2] $index2 $xx2}-->
<input type="radio" name="shiti[da][{$ti[stid]}]" value="$index2"/>$xx2<br/>
<!--{/loop}-->
//http://www.dc9.cn

加上{}界定符就正确了。其实这个可以修正,记录一下,不是什么问题。

discuz 6.0/6.1 兼容jquery的方法

找到

 
 Array.prototype.push = function(value) {
        this[this.length] = value;
        return this.length;
 }


加上一个判断:if(typeof Array.prototype.push === 'undefined') {}
变成

 
if(typeof Array.prototype.push === 'undefined') {
 Array.prototype.push = function(value) {
        this[this.length] = value;
        return this.length;
 }
}
//http://www.dc9.cn




PHP写入WRITE编码为UTF8的文件

<?php 
$f=fopen("test.txt", "wb"); 
$text=utf8_encode("顨!"); 
// adding header 
$text="\xEF\xBB\xBF".$text; 
fputs($f, $text); 
fclose($f); 
?> 

php建立多级目录的函数


function func_dir_create($newdir , $prefix = ""){
                   //http://www.dc9.cn sipo
    $dirary=explode("/",$newdir);
    $real_dir=$prefix;
    foreach ($dirary as $d){
      $real_dir=$real_dir.$d."/";
      if (!is_dir($real_dir)) {
        @mkdir($real_dir);
        @chmod($real_dir, 0775);
                                          }
    }
    return $real_dir;
}

«12»

Powered By Z-Blog 1.8 Walle Build 100427
Copyright Sipo.