自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

聂群技术博客

给自己一个目标,让生命为她燃烧!

  • 博客(40)
  • 收藏
  • 关注

原创 在谈PHP中的 抽象类(abstract class)和 接口(interface)

一、 抽象类abstract class1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。2 .抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。3 .如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法

2017-07-31 22:22:45 418

原创 PHP判断是否是身份证号

判断是否是身份证号,这个简单判断能基本满足需求function isIdCard($number) { // 检查是否是身份证号 $number = getIDCard($number); // 转化为大写,如出现x $number = strtoupper($number); //加权因子 $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6,

2017-03-30 14:13:25 3383

原创 PHP SQL 查询封装

最近用ThinkPHP做开发,发现它的查询方式看着太别扭了 $xx->limit(10)->where(‘status=1’)->select(); 所以自己写了个给大家分享下<?php/** * SQL 简单查询工具类 * <code> * $tools = new SQLTools("表名", "数据库操作对象实例"); * $tools->query("字段默认为*

2017-03-30 14:12:23 1942

原创 400行代码实现php.mvc框架

400行代码实现简单的mvc框架,框架代码包含在入口文件中没有其他的加载,提供了mvc框架的基本功能,使用简单可以通过加载其他类库进行扩展。代码中已提供简单的例子。classs文件夹:保存其他类库,通过load_class(name)函数加载。config文件夹:保存配置文件config.php(保存设置参数数组)。controllers文件夹;保存控制器文件(访问/index/login=>执行i

2017-03-30 14:08:21 856

原创 PHP字符串与二进制互转

php 字符串与二进制互转header("charset=utf-8;");function StrToBin($str){ //1.列出每个字符 $arr = preg_split('/(?<!^)(?!$)/u', $str); //2.unpack字符 foreach($arr as &$v){ $temp = unpack('H*', $v);

2017-03-30 13:53:27 6574

原创 PHP自制加密解密算法

$data = 'this is a test data for 0xff & $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 ';$key = 'thisissecuritykey';$code = CCEncode::getInstance()->encrypt($data, $key);echo $code;echo "<br>";echo CCEncode

2017-03-30 13:52:30 2164

原创 微信卡券

微信卡券创建,删除等<?php/** * Created by ${COMPANY}. * User: msli * Date: 14-7-21 * Time: 上午11:40 * Purpose: 模型类 * To change this template use File | Settings | File Templates. */namespace Home\Model;

2017-03-30 13:50:31 5057 3

原创 PHP根据URL提取根域名

PHP根据URL提取根域名,个人工作中用到,由于网络上很多代码都不能得到正确结果就自己写了一个,欢迎大家使用并提出其中的bug.<?php #使用示例echo getBaseDomain('http://blog.jp.goo.ne.jp/index.php')->domain;echo "\n";echo getBaseDomain('http://51.ca/index.php')->do

2017-03-30 13:28:32 7355

原创 微信红包算法

根据个人对微信红包的理解,下午无聊写了一个微信生成红包的方案设计思路:1、微信红包,每人最少分得1分钱 2、每人分得到的金额是随机分配的 3、每次生成红包就生成了对应领取红包的结果/*生成红包的函数/ function getRandMoney(totalMoney,totalMoney, totalPeople=2, $miniMoney=1){ $ra

2017-03-30 13:27:36 616 1

原创 顶、踩投票功能

PHP+MySql+jQuery实现的“顶”和“踩”投票功能1 . [代码][PHP]代码CREATE TABLE IF NOT EXISTS `votes` ( `id` int(10) NOT NULL AUTO_INCREMENT, `likes` int(10) NOT NULL DEFAULT '0', `unlikes` int(10) NOT NULL DEFAULT

2017-03-30 13:24:54 505

原创 PHP(CURL)POST/GET数据调用API

PHP(CURL)POST/GET数据调用API示例POST/* * *获取最新视频/全部视频列表getNewList作用:获取用户最新上传视频的列表URLhttp://v.polyv.net/uc/services/rest?method=getNewList支持格式XML/JSONHTTP请求方式POST,GET*/$url = 'http://v.polyv.net/u

2017-03-30 13:20:41 2375

原创 PHP中奖概率算法

php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法。用法很简单,代码里有详细注释说明<?php/* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为:array(100,200,300,400), * 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内, * 如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间, *

2017-03-30 13:17:26 434

原创 Thinkphp实现省市区三级联动

一张表实现省市区三级联动【3409条数据】1 . [PHP]代码public function index(){ $province = M('Tree')->where ( array('pid'=>1) )->select (); $this->assign('province',$province); $this->display();}public function

2017-03-30 13:15:02 4607 4

原创 Ajax备用记录

以备后用function delall(){ $.ajax({ //提交数据的类型 POST GET type:"POST", //提交的网址 url:"../api/alldel_action.php?do=alldel", //提交的数据 data:{do:"alldel"},

2017-03-30 13:12:50 324

原创 PHP多服务器文件同步程序

PHP写的多服务器文件同步的程序<?phpheader('Content-type:text/html;charset=utf-8');//文件名称:PHP文件多服务器同步工具//文件作用:本文件所在服务器为主服务器,其它文件所在服务器可作分流或者备份。本文件需要jQuery库。你也可以外链别人的//最后修改时间:2016-06-30//BY:strweiif(!empty($_POST[

2017-03-30 13:12:04 1435

原创 PHP加密cookie类

这个Cookie类封装了五个函数来操作Cookie,<?phpclass Cookie{ /** * 解密已经加密了的cookie * * @param string $encryptedText * @return string */ private static function _decrypt($encryptedTex

2017-03-30 13:10:35 764

原创 购物车session接值,累加

只接了数量,商品,型号想接效果一样。代码如下:if(!@in_array($_GET['id'],$_SESSION['id'])){$_SESSION['sum'][] = $_POST['num'];$_SESSION['id'][] = $_GET['id'];}else{$kk = array_search($_GET['id'],$_SESSION['id']);$_SESS

2017-03-30 13:09:18 1107

原创 二维数组按照某列排序

该功能用法特殊,合适一些喜欢另辟蹊径的小伙伴代码如下:/** * 二维数组排序方法,数字的倒叙排列 * @param arr * @param field */function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) {

2017-03-30 13:08:16 993

原创 PHP抛出异常

php抛出异常示例讲解,一般新手很少会接触到这个,一睹为快<?php/** * 错误异常处理 */$arr = [ 'data' => 'hello world',];$res = '123';printData(check($res));printData(check($arr));/** * Array([line] => 21[file] => 21[msg] =>

2017-03-30 13:07:03 1151

原创 微信授权获取用户的openid

用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组<?php/** * Created by PhpStorm. * User: Administrator * Date: 2016/8/9 * Tim

2017-03-30 13:05:24 486 1

原创 PHP随机生成国内ip地址

获得一个国家所有ip段,随机生成国内ip地址的缩水实现。注意: $ip_long数组中后5个值在64位系统中可能是错误的(下面代码中 $ip_long 数组的后五个值在32位系统中为负数,64位系统中为正数,前五个值在64位系统中也可能有错误) 32位系统 echo ip2long("172.16.1.63"); 结果 -1408237249

2017-03-29 10:47:34 1996

原创 PHP分页类

实例演示简易通用的PHP分页类关于php分页类,网上有无数多个例子。水平参差不齐,孰优孰劣也没有一一考量。但可以肯定的是,一定有很多优秀的代码。开源最大的好处就是能使功能不断的完善,分享也是一样的道理,众人拾柴火焰高嘛!笔者在这里把代码贴出来,抛砖引玉。先来看一下最终的显示效果1 .简易php分页类.png2 .[PHP]代码<?php/******************************

2017-03-29 10:44:18 585

原创 PHP无限极分类

当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究。到网上一搜php无限极分类,很多,但好多都是一个,并且,写的很乱,代码很多,让我们怎么学习嘛,那些都不靠谱,还是自己捣鼓捣鼓无限极分类了。比如一个category表:有id, name, pid, sort 就这四个简单的字段,不要太复杂了。id name

2017-03-29 10:37:54 625

原创 常用独立函数

<?php//===============================时间日期===============================//y返回年最后两位,Y年四位数,m月份数字,M月份英文。d月份几号数字,D星期几英文$date=date("Y-m-d");$date=date("Y-m-d H:i:s");//带时分秒//include,include_once.requir

2017-03-29 10:31:35 752

原创 数字转人名币

这个功能一般用在生成收据的时候用到,代码如下/** * 数字转人名币 * @param [type] $num [description] * @return [type] [description] */function numtormb ($num) { $c1 = "零壹贰叁肆伍陆柒捌玖"; $c2 = "分角元拾佰仟万拾佰仟亿"; $num = round($num, 2)

2017-03-29 10:29:55 318

原创 字符串截取

字符串截取是一个开发者都要面对的基本技能,毕竟你要处理数据,代码如下,支持中文和其他编码/** * 字符串截取,支持中文和其他编码 * @param [string] $str [字符串] * @param integer $start [起始位置] * @param integer $length [截取长度] * @param string $charset [字符串编码] * @

2017-03-29 10:27:57 385

原创 获取当前站点的访问路径根目录

在开发的时候,会用到站点根目录最多的地方就是跳转了,代码如下:/** * 获取当前站点的访问路径根目录 * @return [type] [description] */function getSiteUrl() { $uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['

2017-03-29 10:26:39 2703

原创 PHP计算时长

我们在处理时间时,需要计算当前时间距离某个时间点的时长,如计算客户端运行时长,通常用hh:mm:ss表示。代码如下:function changeTimeType($seconds) { if ($seconds > 3600) { $hours = intval($seconds / 3600); $minutes = $seconds % 3600;

2017-03-29 10:25:41 1858

原创 PHP页面提示与跳转

我们在进行表单操作时,有时为了友好需要提示用户操作结果,并跳转到相关页面,请看以下函数:代码如下:function message($msgTitle,$message,$jumpUrl){ $str = '<!DOCTYPE HTML>'; $str .= '<html>'; $str .= '<head>'; $str .= '<meta charset=

2017-03-29 10:24:30 1720

原创 PHP防止SQL注入

我们在查询数据库时,出于安全考虑,需要过滤一些非法字符防止SQL恶意注入,请看一下函数:代码如下:function injCheck($sql_str) { $check = preg_match('/select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile/', $sql_str); if ($

2017-03-29 10:22:59 3105

原创 PHP获取客户端真实IP

我们经常要用数据库记录用户的IP,以下代码可以获取客户端真实的IP:代码如下://获取用户真实IP function getIp() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP");

2017-03-29 10:20:35 249

原创 PHP截取字符串长度

我们经常会遇到需要截取字符串(含中文汉字)长度的情况,比如标题显示不能超过多少字符,超出的长度用…表示,以下函数可以满足你的需求。代码如下:/* Utf-8、gb2312都支持的汉字截取函数 cut_str(字符串, 截取长度, 开始长度, 编码); 编码默认为 utf-8 开始长度默认为 0 */ function cutStr($string, $sublen, $start

2017-03-29 10:18:50 1079

原创 PHP强制下载文件

有时我们不想让浏览器直接打开文件,如PDF文件,而是要直接下载文件,那么以下函数可以强制下载文件,函数中使用了application/octet-stream头类型。代码如下:function download($filename){ if ((isset($filename))&&(file_exists($filename))){ header("Content-len

2017-03-29 10:14:04 354

原创 PHP获取当前页面URL

重点内容 以下函数可以获取当前页面的URL,不管是http还是https。代码如下:function curPageURL() { $pageURL = 'http'; if (!empty($_SERVER['HTTPS'])) {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_POR

2017-03-29 10:11:20 260

原创 MYSQL中的普通索引,主健,唯一,全文索引区别

MYSQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。

2017-03-24 09:14:07 621

原创 PHP替换标签字符

有时我们需要将字符串、模板标签替换成指定的内容,可以用到下面的函数:代码如下:function stringParser($string,$replacer){ $result = str_replace(array_keys($replacer), array_values($replacer),$string); return $result; }使用方法如下:$strin

2017-03-13 11:29:49 1216

原创 PHP获取文件大小并格式化

以下使用的函数可以获取文件的大小,并且转换成便于阅读的KB,MB等格式。代码如下:function formatSize($size) { $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); if ($size == 0) { return('n/a

2017-03-13 11:27:31 1244

原创 PHP获取文件扩展名(后缀)

以下函数可以快速获取文件的扩展名即后缀。代码如下:function getExtension($filename){ $myext = substr($filename, strrpos($filename, '.')); return str_replace('.','',$myext); }使用方法如下:$filename = '我的文档.doc'; echo getExtens

2017-03-13 11:21:00 972

原创 PHP生成随机字符串

当我们需要生成一个随机名字,临时密码等字符串时可以用到下面的函数: 代码如下:function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = '';

2017-03-13 11:17:22 330

原创 PHP加密解密

PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。代码如下:function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_25

2017-03-13 09:58:22 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除