
PHP
文章平均质量分 81
leinchu
多做,快做,少废话
展开
-
php + bat 实现 Git 快速提交
上头,非要用git,我xgit说起来好多优势,全teme的吹牛逼。提交个代码都要好多个命令,遇到冲突合并全靠双手,比svn差远了,无奈,总有人觉得新的就是好的。太繁琐的工具,就是lj!今天一不小心,就把同事的代码给覆盖了,没有搞懂原因。最后,没办法,为了解决这个问题,我决定,我还是用我的svn,写好代码后复制到git(我的代码目录是单独的)。再用个bat实现“一键提交”,避免沙雕的手动输入一个bat,调用php,两个文件都放到你的git目录下。bat名字不能叫 git.bat原创 2020-07-30 13:49:45 · 139 阅读 · 0 评论 -
PHP IMAP收QQ邮件,SMTP存入另外QQ邮箱
<?phpdefine('USER','qq1号码@qq.com');//qq1用户名define('PWD','qq1 imap密码');//qq1密码define('USER_RECEIVER','qq2号码@qq.com');//qq2用户名define('PWD_RECEIVER','qq2 imap密码');//qq2密码define('FROM_ADDR', 'qq2号码@q原创 2015-01-06 14:31:45 · 6058 阅读 · 0 评论 -
Swoole process swoole进程管道消息速度测试
<?php$process = new swoole_process(function(swoole_process $process) { $i = 0; $start_ts = microtime(true); while(++$i) { $v = intval($process->read()); if($v){ $process->write((...原创 2018-09-18 15:30:35 · 361 阅读 · 0 评论 -
Swoole table 2000万级测试
测试环境:CentOS 6.3,php 7.2,swoole 4.2;8G内存,2.5 4核 x 2;======================Create total use 55.091857910156 插入总用时Real create time 30.757210254669 实际插入代码用时======================Real create sp...原创 2018-09-12 19:29:28 · 252 阅读 · 0 评论 -
APC 与 Memcache 取数据性能对比
4000多条道具数据,系列化之后4M大小。结果是:Memcache平均取速度为:0.134032303095秒Apc平均取速度为:0.346668326855秒真心没想到啊。网上没看到apc是否序列化的说明。我想既然是个扩展,那么应该是设置一个指针指向这个变量,取的时候直接把这个地址转换成zval,就可以直接用了。结果看来不是这样的。--------------------原创 2016-11-18 11:36:36 · 955 阅读 · 0 评论 -
PHP function_exists的一个坑
先来看一段js代码a();function a(){}这是要报错的,会报a函数为undefined再来看一段php代码a();function a(){}这不会报错,php允许这么做php有一个检查函数是否存在的函数function_exists,再看这么一段phpa();if(!function_exists('a'))原创 2016-06-02 10:25:08 · 8150 阅读 · 0 评论 -
PHP 捕捉错误,记录到日志
register_shutdown_function("shutdown");define('ERR_LOG_FILE', '/dev/shm/php_log.txt');if(defined('ERR_LOG_FILE')){ ini_set("display_errors",0);//不在页面显示错误信息 error_reporting(E_ALL ^ E_NOTICE);//记录错转载 2015-09-22 10:07:03 · 3048 阅读 · 0 评论 -
Imagick 缩放图片和实现模糊
Imagick功能相当的多,只是还不稳定,我下面的程序能够运行,但是会出现内存错误,但我们要的图片还是能够得到。 弄这个的原因是,一个客户要求在一个appcan的应用里面实现一个页面的背景图的缩放、调整位置和模糊效果。 这些js和css都能实现,在电脑上表现得很好,但是到了手机上,模糊就出了问题,而她又要求背景不动,调整了位置就设置了背景图的x y,但不动的话又要求背景位置fixe原创 2015-08-12 14:43:55 · 2109 阅读 · 0 评论 -
iOS Android图标生成器PHP
<?php//修改为你想要的大小$sizes = array(40,57,58,60,72,76,80,120,152);//原始文件名(512X512)$filename = 'iTunesArtwork.png';list($width, $height) = getimagesize($filename);foreach($sizes as $size){ $new_wid原创 2014-12-02 10:40:23 · 976 阅读 · 0 评论 -
zend framework与php 5.3.8的pdo sql server 2008
zend1.1.1 在php 5.3.8环境下,目前支持sql 的pdo连接方式有问题,需要修改:1 Zend\Db\Adapter\Pdo\Mssql.php: $_pdoType为->protected $_pdoType = 'sqlsrv';2 Zend\Db\Adapter\Pdo\Abstract.php 的_connect函数 protected functi原创 2011-10-06 11:16:02 · 2313 阅读 · 0 评论 -
php查找字符串中的http地址,并转换
function convertImg($str) { $str = preg_replace("/\{([^}]+)\}/",'回复:$1',preg_replace("/\[(\d+)\]/",'',$str)); $reg="/http\:\/\/(\w+\.)+(net|com|org|cn|kr|jp|tw)[A-Za-z0-9_&\/\?=]*/i"; if(preg_m原创 2011-11-30 18:35:03 · 2532 阅读 · 0 评论 -
样式表自动截断字符串、省略显示不出来的字符,不用服务器端处理,也不会出现乱码
这里有很多的字,浏览器会帮你自动省略,ie6就支持了诀窍是,必须设定合适的宽度和高度,text-overflow: ellipsis才会起到作用原创 2012-05-11 16:36:47 · 1171 阅读 · 0 评论 -
PHP gzip 压缩数据 html数据,减少网络流量
<?php ob_start("ob_gzhandler"); ob_start("compress"); header("Content-type: text/css; charset: UTF-8"); header("Cache-Control: must-revalidate"); $off = 0; # Set to a reaonable value later,转载 2011-10-28 16:27:41 · 1207 阅读 · 0 评论 -
PHP 实现冒泡排序
<?php function maopao($arr){ $c = count($arr); $t = 0; for($i=0;$i<=$c;$i++){ for($j=$i+1;$j<$c;$j++){ if($arr[$i] < $arr[$j])原创 2012-02-16 17:20:21 · 470 阅读 · 0 评论 -
php 5.3.8版本,针对sql server 2008的注释编辑查看工具程序
最近做一个项目, 用的是php 5.3.8, 数据库是sql server 2008,sql server的管理器,针对每个字段的东西很多,写个注释都要拉滚动条,每写一个得拉一下,非常麻烦.所以写了一个程序,通过网页列出表和字段,直接可以在网页上写注释,方便多了原创 2011-10-06 11:00:51 · 867 阅读 · 0 评论 -
使用 PHP 将 XML 转化为易读的数组!
class xml { private $parser; private $tag_cur=0; private $data=array(); private $struct=array(); function xml() { $this->parser = xml_parser_create(); xml_set_object($this->parser,&$this); xml_set_element_handler($this->parser,"tag_open"原创 2011-04-03 19:52:00 · 630 阅读 · 0 评论 -
PSL
PHP SPL笔记作者: 阮一峰日期: 2008年7月 8日这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记。不然记不住,以后要用的时候,还是要从头学起。由于这是供自己参考的笔记,不是教程,所以写得比较简单,没有多解释。但是我想,如果你是一个熟练的PHP5程序员,应该足以看懂下面的材料,而且会发现它很有用。现在除此之外,网上根本没有任何深入的SPL中文介绍。================PHP SPL笔记目录第一部分 简介1. 什么是转载 2010-06-06 09:32:00 · 664 阅读 · 0 评论 -
使用单个innodb表,实现锁,防止游戏被刷物品或者其它资源!
webgame经常面临某个模块被多次并发提交刷物品或者经验金钱,通常使用把相关该改为innodb表加事务,但这样,会使数据库服务器内存消耗变得十分恐怖,实际使用一个表就可以实现锁了。 require(config/config.mysql.php);/*CREATE TABLE `lock` ( `uid` int(11) NOT NULL DEFAULT 0, `lockva原创 2010-04-15 16:12:00 · 610 阅读 · 0 评论 -
怎样判断用户已经掉线,关闭网页
仔细研究了connection_status 和 connection_aborted 了解清楚他们的用法: echo str_repeat(" ",300);ignore_user_abort(true); //没有这个一旦用户断线,php(线程)就会立即终止!没有机会执行" if connection_status()!=0||connection_aborted){"了原创 2009-07-22 18:59:00 · 3041 阅读 · 0 评论 -
PHP简单mysql管理工具,支持执行多条mysql语句!
header(Content-Type:text/html;charset=GBK);?>if(isset($_GET[sg])){ $_SESSION[sg]=$_GET[s];}if(isset($_GET[su])){ $_SESSION[su]=$_GET[s];}if(isset($_POST[sql])){ $conn = mysql_con原创 2009-03-17 19:10:00 · 2259 阅读 · 0 评论 -
使用mysql内存表来代替php session的类
<?php/**@Usage: use some other storage method(mysql or memcache) instead of php sessoin@author:lein@Version:1.2*/session_start();if(!isset($_SESSION[test])){ $_SESSION[test]="123_l原创 2009-02-01 13:56:00 · 1715 阅读 · 0 评论 -
Php aes算法
<?php function aes128cbcEncrypt($key, $text) { /* Open the cipher */ $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); if (! $td) { throw new GeneralSecur转载 2010-09-26 14:04:00 · 1728 阅读 · 0 评论 -
Linux 记录服务器负载、内存、cpu状态的PHP脚本
<?phpwhile(1){ exec('top -b -n 1 -d 3',$out); $Cpu = explode(' ', $out[2]); $Mem = explode(' ', $out[3]); $Swap = explode(' ', $out[4]); //var_dump($Cpu,$Mem,$Swap); $cpu = str_replace(arr原创 2013-02-19 15:43:13 · 1838 阅读 · 0 评论 -
php file_get_contents curl发送cookie,使用代理
$auth = base64_encode('LOGIN:PASSWORD');//LOGIN:PASSWORD 这里是你的账户名及密码 $aContext = array( 'http' => array( 'proxy' => 'tcp://192.168.0.2:3128',//这里设置你要使用的代理ip及端转载 2014-10-18 14:38:49 · 2305 阅读 · 0 评论 -
function gzdecode
function gzdecode($data) { return gzinflate(substr($data,10,-8)); } 因为项目要下载原创 2014-05-23 15:49:29 · 1171 阅读 · 0 评论 -
php libevent 扩展使用示例
define('CONNECT_IN_MSG', chr(1));define('CONNECT_OUT_MSG', chr(2));class epoll{ private static $socket; public static $connections; private static $buffers; private static $msgs原创 2014-06-03 11:30:27 · 1886 阅读 · 1 评论 -
识别字符串中的外链图片,下载存到本地,并替换图片地址
define('UPLOAD_IMG_PATH','./wordpress/');//$str = 'sdasda ';function lx_findPicAndDownload($str){ preg_match_all('/http\:\/\/([^\/]+\/)+[^\.]+\.(jpg|png|gif)/i',$str, $out); for($i=0;$i<count($out原创 2014-03-24 18:06:22 · 1617 阅读 · 0 评论 -
PHP 长字符串替换操作性能(替换多换注释的代码)
因为写一个css合并工具,去掉注释时,发现正则表达式很难写,最后,还是用php来实现吧,但是一不小心写出来的代码居然报内存超出可用的128m!! 原因是因为我找到/*和*/之后 $str=substr($str,0,$pos_left).substr($str,$pos_right+2); //最后报错在这里!后来改成了:function replaceNote($str)原创 2013-10-12 20:48:59 · 1379 阅读 · 0 评论 -
找出html中的图片、包括css中的图片,读出图片数据转换为base64数据
<?phpecho ">> 图片的地址,css里面的要打单引号\r\n";echo ">> 相同的图片,使用css实现图片地址只出现一次,有助于减小文件体积\r\n";echo ">> 因为凡是出现图片地址的地方,都会被转换成base64字符串\r\n";$dirs = scandir('./');if(count($dirs)<3) return;// echo $_dir.' is原创 2014-02-22 12:50:37 · 1966 阅读 · 0 评论 -
最简单的PHP socket echo server。
常有人困惑php的socket服务,现在有libevent和多线程了,但是我还是整一个select的<?php$addr = '0.0.0.0';$port = 1234;$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEAD原创 2013-09-25 16:00:27 · 1936 阅读 · 0 评论 -
单服务器内同步文件
<?php$dirs = array('/www/oa/lib','/www/oa/module','/www/oa/www/main/js','/www/oa/www/main/css');//要同步的目录$count = 0;foreach($dirs as $dir){ checkDir($dir);}echo "\033[7;35m".' Complete> Total che原创 2013-09-03 09:53:24 · 7422 阅读 · 0 评论 -
CSS压缩工具(自动合并重复的定义)
最近一个项目,css主文件居然到了9800行,我震惊了。于是写了个合并相同css的php。 合并之后有点点小问题,我难得去找什么问题了,稍微改下css就ok。有个压缩功能,默认开启的,不过没试。 <?phpdefine('CMP', $argv>1?$argv[1]:true);//压缩if(CMP){ define('SPA',''); define('TAB',''原创 2013-05-13 11:59:49 · 1645 阅读 · 1 评论 -
memcache 内存使用详解
上周由于接手个一个新的项目,该项目对于memcache的依赖非常大,从而导致我不得不真的开始深入了解memcache的内存使用情况,这里总结下我个人的收获,也算是一次小的memcache优化吧。一、Memcache内存分配机制 关于这个机制网上有很多解释的,我个人的总结如下。Page为内存分配的最小单位。Memcached的内存分配以page为单位,默认情况下一个转载 2013-04-25 10:04:49 · 964 阅读 · 0 评论 -
PHP,操作多个用户,多个线程的session,实现用户登陆状态session值的自动更新
代码: $my_session_id=$_COOKIE[session_name()];//保存当前人员的session id;session_start();.......//一些操作,比如验证当前用户是否有权限操作session更新{//此处可以循环以操作多个其他用户的sessionsession_write_close (); session_id($_refresh_u原创 2008-02-14 16:53:00 · 2240 阅读 · 0 评论