php常用方法一
1.用户名用***替换
/**
* 用户名中间用***替换
* @param string $str 需要替换的字符串
* @param int $len 需要替换的位数
* @param string $replace 需要替换成的内容,一般是***
*/
public static function substr_cut($str,$len=1,$replace='***') {
$strlen = mb_strlen($str, 'utf-8');
if($strlen < 2 || $strlen <= $len) {
return $str.$replace;
} else {
$first = mb_substr($str, 0, $len, 'utf-8');
$last = mb_substr($str, -$len, $len, 'utf-8');
return $first.$replace.$last;
}
}
2.ajax输出
/**
* 输出ajax数据
* @param string $msg 错误或成功提示信息
* @param boolean $status 状态
* @param object | array | string $data 需要返回的数据
* @param string $type 返回格式;默认json
* @param string $callback js回调函数名,此参数不为空且类型为jsonp时返回jsonp
* @return string | object string JSON encoded object
*/
public static function output($msg = null, $status = true, $data = null, $type = 'json', $callback = '') {
$response = array();
$response['status'] = $status;
if ($msg !== null) {
$response['msg'] = $msg; // 返回的提示信息
}
if ($data !== null) {
$response['data'] = $data; // 返回的数据
}
if (($type == 'jsonp') && !empty($callback)) {
echo $callback . '(' . json_encode( $response ) . ');';
} else { // 输出 json 文本格式
echo json_encode($response);
}
Yii::app()->end();
}
3.截取字符串用...
/**
* 截取字符串,大于指定长度的字符串在截取之后,会输出三个小点
* @param string $string
* @param int $length
* @param string $encode
* @return string
*/
public static function substr( $string, $length, $encode="utf-8") {
if ( mb_strlen( $string, $encode ) <= $length )
return $string; $newString = mb_substr( $string, 0, $length, $encode );
$newString .= '...';
return $newString;
}
4.随机产生uuid
/**
* 生成UUID编码
*/
public static function uuid(){
$chars = md5(uniqid(time().mt_rand(), true));
$uuid = substr($chars,0,8) . '-';
$uuid .= substr($chars,8,4) . '-';
$uuid .= substr($chars,12,4) . '-';
$uuid .= substr($chars,16,4) . '-';
$uuid .= substr($chars,20,12);
return $uuid;
}
5.防止重复提交
/**
* 设置表单token,防止重复提交。
* @param $identify 唯一标记
* @return hash
*/
public static function hash($identify = 'token') {
$hash = uniqid();
Yii::app()->session->add($identify, $hash);
return $hash;
} /**
* 验证token码是否正确
* @param $hash
* @param $identify 唯一标记
* @return true|false
*/
public static function checkHash($hash, $identify = 'token'){
$result = false; $sessionHash = Yii::app()->session->get($identify);
if (strnatcasecmp($sessionHash, $hash)===0) {
$result = true;
}
Yii::app()->session->remove($identify);
return $result;
}
php常用方法一的更多相关文章
- JavaScript一些常用方法一
整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下.方便以后查阅. 这篇博文先说明这些方法的用途: splice().push().pop() .sh ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系
XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...
- JBOSS通过Apache负载均衡方法一:使用mod_jk
JBOSS通过Apache负载均衡方法一:使用mod_jk 本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...
- centos6.5下oracle11g开机自动启动方法一
转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二 https://blog.csdn.net/wx504025 ...
- mybatis由浅入深day02_2一对一查询_2.2方法一:resultType
2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...
- 头像文件上传 方法一:from表单 方法二:ajax
方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...
- vue抽取公共方法———方法一
方法一:Vue插件 1.概述 作用:满足vue之外的需求,特定场景的需求 比如说,让你在每个单页面组件里,都可以调用某个方法(公共方法),或者共享某个变量等 2.使用方法 [声明插件]- [写插件]- ...
- 登录操作(方法一:设置flag标志位)
登录操作(方法一:设置flag标志位) user_name="star"passwoed='123'passed_authentication=Falsecount=0for i ...
- JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]
二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...
随机推荐
- Java 并行 (2): Monitor
转自:http://www.cnblogs.com/tomsheep/archive/2010/06/09/1754419.html 1. 什么是Monitor? Monitor其实是一种同步工具,也 ...
- iphone 事件冒泡规则
今天碰到的一个比较烦人的问题是,在body上添加事件处理函数,发现在iphone上怎么也没办法触发事件,找了半天,发现iPhone处理冒泡事件的规则: 1.点击某个元素: 2.如果这个元素上没有处理该 ...
- 50.常用的query查询方式
主要知识点 match all match multi match range query term query terms query exist query 1.match all ...
- 3.Linux 系统目录结构
Linux 系统目录结构 登录系统后,在当前命令窗口下输入命令可以查看我们系统的默认文件列表: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin:bin是Bina ...
- 邓_ PHP·笔记(函数总结)
PHP 指 PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名) PHP 是一种服务器端的脚本语言,类似 ASP PHP 脚本在服务器上执行 PHP 支持 ...
- elasticsearch Suggester实现搜索建议(八)
Completion Suggester 智能提示 { "settings": { }, "mappings": { "doc": { &q ...
- GitHub分支项目不支持搜索问题解决:Sorry, forked repositories are not currently searchable.
错误如下: 在GitHub上的项目,如果是分支项目的星星数没有超过父项目,就不会去索引从而不会进行代码搜索. 解决方法: 1.要在搜索结果中包含分支,需要添加fork:true或fork:only查询 ...
- Linux磁盘分区方案(转)
硬盘分区的各个分区的意义 尽管可以根据我们已经提到的分区原则,Linux装在一个单一的大分区中,但更好的主意是将它分开.综合了单一分区的简单性和多分区的灵活性,我们推荐以下配置.请注意:如果你想安装L ...
- java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
java反射并不是什么高深技术,面向对象语言都有这个功能. 面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象,去获取类相关的信息 2.利用java反射可以调用类 ...
- DataGridView导出数据到Excel及单元格格式的改动
在软件开发过程中,时常会遇到把一些数据信息从DataGridView中导出到Excel表格中的情况.假设写的多了就会发现挺简单的,我们最好还是来写一写,留作备用,毕竟有时候Ctrl+C和Ctrl+V还 ...