叶测试 发布的文章

ThinkPHP 组合查询

在项目中需要同时使用两个条件取OR,与第三个条件AND,需要使用组合查询。其他查询方式:http://document.thinkphp.cn/manual_3_2.html#query_type
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string)、复合查询(_complex)、请求字符串查询(_query),混合查询中的特殊查询每次查询只能定义一个,由于采用数组的索引方式,索引相同的特殊查询会被覆盖。

- 阅读剩余部分 -

iframe跨域通信

众所周知,由于前端javascript对跨域访问做了安全限制,javascript只能访问与包含它的文档在同一域下的内容。而实际编码时我们会遇到使用iframe跨域访问、Ajax跨域通信等操作,这个时候如何突破跨域操作的问题,本文将结合实例讲述解决方案。

- 阅读剩余部分 -

mysql中FIND_IN_SET的使用方法

在mysql中,有时我们在做数据库查询时,需要得到某字段中包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysql的FIND_IN_SET函数就派上用场了,下面来具体了解一下。

- 阅读剩余部分 -

webuploader 上传传自定义参数

webuploader API文档:http://fex.baidu.com/webuploader/doc/index.html

全局设置

// 初始化的时候直接添加  
var uploader = new WebUploader.Uploader({  
    ...  
    formData: {  
        uid: 123  
    }  
    ...  
});  
  
// 初始化以后添加  
uploader.options.formData.uid = 123;

局部设置

uploader.on( 'uploadBeforeSend', function( block, data ) {  
    // block为分块数据。  
  
    // file为分块对应的file对象。  
    var file = block.file;  
  
    // 修改data可以控制发送哪些携带数据。  
    data.uid = 123;  
});

PHP开发程序应该注意的42个优化准则

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成 HTML标记的CGI要高许多。下面介绍了PHP开发程序应该注意的42个优化准则。

- 阅读剩余部分 -

Linux bashrc和profile的用途和区别

使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。

Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。

- 阅读剩余部分 -

PHP截取中文字符串编码

/**
 * 字符串截取,支持中文和其他编码
 * static 
 * access public
 * @param string $str 需要转换的字符串
 * @param string $start 开始位置
 * @param string $length 截取长度
 * @param string $charset 编码格式
 * @param string $suffix 截断显示字符
 * return string
 */
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true, $strip_tags=false){

    if($strip_tags){
        $str = strip_tags($str);//去除html标记
        $pattern = "/&[a-zA-Z]+;/";//去除特殊符号
        $str = preg_replace($pattern,'',$str);
    }

    if(function_exists("mb_substr")){
        $slice = mb_substr($str, $start, $length, $charset);
    }elseif(function_exists("iconv_substr")){
        $slice = iconv_substr($str, $start, $length, $charset);
        if(false === $slice){
            $slice = '';
        }
    }else{
        $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
        $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
        $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
        $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
        preg_match_all($re[$charset], $str, $match);
        $slice = join("", array_slice($match[0], $start, $length));
    }
    return $suffix ? $slice.'...' : $slice;
}