php
文章平均质量分 66
sudoers
这个作者很懒,什么都没留下…
展开
-
批量变更mysql数据库的编码
数据库的设计时采用了gb2312编码,以至于后来产生了瓶颈,无法输入特殊字符,需要在保留数据的情况下转移数据库编码需要注意的一点是,在mysql内部是有编码区别的但是dump出来的sql脚本是没有编码区别的,都是默认为当前系统内码所以现在的工作就是:1. 导出数据库结构脚本2. 导出数据库数据脚本3. 替换数据库结构里面的gb2312字样为gbk4. 导入数据库结构脚本5. 导入数据库数据脚本程序如下:dodb.php ./'.$c.'_d.sql'); system('/usr/local/mysql原创 2010-10-26 17:46:00 · 560 阅读 · 0 评论 -
access 和 mssql com方式链接工具
<?php/*** Filename:MicroDB.class.php* ScriptName: MicroDB* Author:[email protected]* Version:0.1* //获得数据库实例* $db = MicroDB::Access('access数据库的物理地址');* $db = MicroDB::Mssql($dbhost,$dbuser,$dbpass原创 2013-02-02 14:09:22 · 572 阅读 · 0 评论 -
五种常见的 PHP 设计模式
点击打开链接转载 2013-03-14 10:01:01 · 552 阅读 · 0 评论 -
五种常见的 PHP 设计模式
设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说原创 2013-03-14 09:59:47 · 105 阅读 · 0 评论 -
sso 单点登录
原创 2013-03-26 17:17:36 · 682 阅读 · 0 评论 -
php相对目录比较
$a = '/e/a/b/d.php';$b = '/a/b/12/34/b/d/c.php';function get_ret_path($a,$b){ $a = trim($a,'/'); $b = trim($b,'/'); $ad = dirname($a); $bd = dirname($b); $arr_a = explode('/',$ad); $arr_b =原创 2013-12-26 17:46:35 · 695 阅读 · 0 评论 -
关于phpstorm 对yii的代码提示
/** * 返回Yii单例对象 * @return CApplication the application singleton, null if the singleton has not been created yet. */ public static function app(){ return self::app(); }原创 2014-01-27 14:03:36 · 5480 阅读 · 0 评论 -
给phpstrom 加上 yii的redis提示
应用场景Yii::app()->redis->set();在redis目录新建了个文件,,,autocomplete.phpclass CApplication { /** * @var Redis */ public $redis;} 完美////附redis事务Yii::app()->redis->set('test原创 2014-01-28 16:48:25 · 1921 阅读 · 0 评论 -
使用geohash实现经纬度范围内搜索
需求:根据用户当前坐标,在地图上标注附近的门店。方案一、使用百度云存储服务1. 导入所有门店的坐标数据至百度云存储2. 使用百度地图接口获取附近的坐标点方案二、本地实现范围搜索1. 收集门店坐标2. 本地实现范围搜索与项目经理确认后,由于百度云存储方案具有接口及数据的约束,因此采用方案二。具体流程如下:1. 采集门原创 2016-01-20 14:57:20 · 3149 阅读 · 0 评论 -
php 及 java base64md5
java及php版本的base64md5方法原创 2016-04-12 17:16:18 · 2385 阅读 · 1 评论 -
php无符号16进制小端模式运算
1. 无符号与有符号对php而言,只相对于十进制加减运算2. 十进制转化为16进制后就没有符号的概念了3. 16进制无符号运算在php中只需转化为10进制后运算得到结果再转化为十六进制就好4. 由于php中的十进制运算int类型的原因,会产生溢出情况(得到大负数),转化为16进制后,结果是对的,无需担心,但前面会使用FF补齐5. 根据结果将前面的补齐的FF删除掉,就会得到正确结果原创 2016-11-24 18:42:35 · 2806 阅读 · 0 评论 -
yii2-redis Calling unknown method: yii\redis\Connection::hGet()
习惯上,我对这个redis做了一个注释,方便代码提示:/** @var \Redis */ public $redis;所以在书写中,根据代码提示会这样调用方法:$this->redis->hGet('mykey1','name');报错:Calling unknown method: yii\redis\Connection::hGet()观察yii原创 2017-02-23 11:49:50 · 2404 阅读 · 0 评论 -
Yii2 自动分表 model
其实是借鉴了一下某同学的《动态model》<?php/** * Created by IntelliJ IDEA. * User: Septan * Date: 2017/8/4 * Time: 下午5:25 */namespace app\library;use Yii;use yii\base\InvalidCallException;use yii\base\I原创 2017-08-04 19:56:25 · 3352 阅读 · 1 评论 -
php使用com链接access数据库
国内有很多全能主机,windows平台下 php + asp + asp.net + mssql + access + mysql这样的全能主机不要对php+access这种结构嗤之以鼻,相比之下一个小型的企业类站点,使用access数据库在维护上更加灵活安装也比较方便mssql:$connstr = "Provider=SQLOLEDB; Pers原创 2010-11-02 13:28:00 · 1273 阅读 · 1 评论 -
通用 根据更新日期 来备份mysql 数据库(增量备份)
由于新装了个ssd,原来的机械盘作为副盘。一直对ssd的可靠性保留怀疑的态度,于是,在机器上装了svn,把平时的ssd的资料使用svn提交到副盘。mysql数据库都是自己平时开发的小项目,特点是,开发完成之后就停止更新,于是不可能每次都备份全部的数据库,这是非常浪费的于是写脚本如下,脚本可以想起来就执行一次,也可以加入windows计划或者linux crontab,不会造成太大的额外原创 2013-01-29 11:11:00 · 609 阅读 · 0 评论 -
php cron job
<?php/**USES: sudo -u USER crontab -e 5/* * * * * /usr/bin/php /home2/bin/cronmonitor.php > /dev/null 2>&1 &*/class CronMonitor{ private $bin_php = '/usr/bin/php'; private $path_daemon原创 2013-01-23 14:12:18 · 2039 阅读 · 1 评论 -
在树状数组中遍历查找
有一个树状数组如下$array = array( 't1'=>'t2', 't3'=>array( 't4'=>'t5', 't6'=>array('t7','t8','t9') ), 't10'=>'t11', 't12'=>'t13' );现在的需求是,获取任意节点(key)的结构(子元素)代码如下:原创 2010-10-26 13:57:00 · 1230 阅读 · 0 评论 -
使用smarty block功能自定义模板标签(更新版本)
使用smarty的block功能编写插件先看模板标记,加入行号功能 {foobar assign='row' name='test'} {$_bindex.test}{$row.id}{$row.title} {/foobar}然后控制器原创 2010-11-02 20:28:00 · 8925 阅读 · 2 评论 -
引用
<br />$t = array();$foobar = new stdClass();$foobar->arg = &$t;$t[] = 'a';$t[] = 'b';print_r($foobar->arg);$foobar->arg[] = 'c';print_r($foobar->arg);print_r($t);die();<br />无论如何,我觉得这样使得变量的生命周期延长了原创 2011-03-21 17:33:00 · 392 阅读 · 0 评论 -
php-cgi 数据重复提交
有这样一个情况,最近服务器php-cgi负载过高,有时候会有数据无法提交的状况,表现为反映迟钝。。等峰值过后观察,有些form的表单出现了瞬间多次提交,考虑原因可能是cgi在等待时一直重试的原因,此时form数据已经发送,若在form提交之前做防刷处理(随机post字串验证),根本无效,写了以下片段,观察效果if($_POST){$formkey = md5(serialize($_POST)); if($_SESSION['formkey'] == $formkey)原创 2011-03-31 15:13:00 · 796 阅读 · 0 评论 -
PHP正则(详细)
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正转载 2011-09-15 10:01:03 · 352 阅读 · 0 评论 -
php Singleton 转自php手册
<?phpabstract class Singleton { protected function __construct() { } final public static function getInstance() { static $a原创 2011-09-16 16:26:53 · 362 阅读 · 0 评论 -
var_export
平时缓存个小数据喜欢用serialize序列化一下存放后来简单的数据文件存储使用var_export<?php$data = array('a'=>'汉字','b'=>'123');//字串化$string = var_export($data, true);//原创 2010-11-04 16:51:00 · 1983 阅读 · 0 评论 -
php imagick 常用操作
//============================// 文件: filename.php// 版本: 0.0.1// 作者: 九月// 更新: d// 说明: Editplus集成PHP环境//============================$action = $_GET['a'];$img = new Imagick('test.jpg');原创 2012-08-13 17:06:08 · 1057 阅读 · 0 评论 -
smarty block 功能实现 局部缓存
HTML部分{nocache} {**some process**} {/nocache} nocache就是自定义block实现区块内数据的控制function smarty_block_nocache($param, $content, $smarty) { return $content; } $smarty->register_bloc原创 2012-11-05 09:48:41 · 418 阅读 · 0 评论 -
Smarty 缓存控制
require('Smarty.class.php');$smarty = new Smarty;$smarty->caching = true;$my_cache_id = $_GET['article_id'];if(!$smarty->is_cached('index.tpl',$my_cache_id)) { // No cache available, do var转载 2012-11-05 09:52:58 · 398 阅读 · 1 评论 -
smarty 输出前内容过滤
// put this in your applicationfunction protect_email($tpl_output, &$smarty){ $tpl_output = preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!', '$1%转载 2012-11-05 09:55:55 · 535 阅读 · 0 评论 -
使用smarty block功能自定义模板标签
更新至:http://blog.csdn.net/sudoers/article/details/5982987使用smarty的block功能编写插件原创 2010-10-21 13:02:00 · 1334 阅读 · 0 评论 -
利用php反射构造自动测试工具
<?phpnamespace app\console;use yii\console\Controller;/** * Lib测试工具 * Class TestController * @package app\console *$this->runCase('app\\library\\Activity',[ 'constructor' => []...原创 2018-09-14 16:05:20 · 228 阅读 · 0 评论