php
free361
www.cxyxiche.com
展开
-
php递归提取质因子
//$n整数 //$a要除的质子 function getSing($n,$a=2,$out = array()){ if ($n==1) { return false; }elseif ($n%$a == 0) { //余数是0表示整除,则$a为质因子 $out[$a] = empty($out[$a])?1:++$out[$a];原创 2016-12-16 13:28:45 · 460 阅读 · 0 评论 -
php递归、尾递归计算阶乘
c语言有尾递归之说,可以立即释放内存,效率也比递归要高。 之前使用php做了测试,测试结果显示尾递归在php中并没有效果。原创 2016-12-16 09:43:14 · 2593 阅读 · 0 评论 -
php array_map,for,foreach性能测试
array_map是php自带的使用回调函数的数组批处理函数,看到这类函数的结构我就怀疑其处理效率。做了个小测试原创 2016-12-16 14:03:16 · 4595 阅读 · 0 评论 -
php curl 在不读取完整图片的情况下获取图片大小
此事的起因是同事做微信投票,遇到一个问题。从微信服务器下载用户头像时极卡,平均在1分钟左右。图片才十几k而已。当时用的是file_get_contents函数,我分析有可能是微信头像的地址没有图片格式或者服务器的问题,导致file_get_contents不知道什么时候结束。所以用curl改造了一个方法,先通过头信息获取图片大小,然后用file_get_contents指定获取字节。事实证明可行,速度极快,而且图片完整。原创 2016-12-16 14:41:59 · 3381 阅读 · 0 评论 -
php mysql ip地址转换
mysql中经常需要ip地址字段,如何设计字段才能称得上是品学兼优的好设计?下面分析几种设计模式 方案1:varchar(15)-varchar(255) 大部分新手只要是字符串字段,不管什么类型,全部varchar(255)。有些考虑深一步用varchar(15),其实15跟255在这里没有区别,因为ip地址是15个字符,mysql实际保存时一定会先存15个字符,后面还会跟一个长度字符。所以原创 2016-12-16 15:23:04 · 440 阅读 · 0 评论 -
客户端伪造代理服务器ip进行sql注入
前几天同事发现网站访问异常慢,经过排查,发现mysql亚历山大。果断查看日志,发现大量这样的查看 # Query_time: 5.019276 Lock_time: 0.000066 Rows_sent: 0 Rows_examined: 1 SET timestamp=1477759063; update wa_search_record SET keyword_length= '原创 2016-12-16 16:30:24 · 2777 阅读 · 0 评论 -
基于同音字的验证码
文字识别技术让传统汉字验证码不堪一击,突发奇想做了一个完全使用同音字的验证码。虽然避免不了被识别的命运,但是增加了识别复杂度和识别成本。 demo地址:http://www.free361.com/demo.php?id=6 class ChineseCaptcha{ public $pinyin = array(); //自动转换为指定字符集原创 2016-12-22 14:17:33 · 2328 阅读 · 0 评论 -
太公分肉算法
/** *太公分肉算法 * 算法名由来:几年前网上一个兄弟的帖子,当时写了需求和简单的想法,但是没有求出结果。太公是南方的称谓,意思就是几个孙子去爷爷家,然后爷爷要分肉,但是肉的大小切的不一样,想要每个孙子分的个数一样,而且重量也尽可能一样。 * 期望:两个个数相同的数组,要重新分配为两份(个数一样),要求两份数组的和尽可能相近 * 原理:1.合并数组,因为要重新合并,原数组顺序没原创 2016-12-19 15:42:01 · 412 阅读 · 0 评论 -
php致命错误的异常捕获
使用register_shutdown_function函数绑定捕获函数 使用error_get_last函数捕获当前错误信息 register_shutdown_function("errorCheck"); function errorCheck(){ $error=error_get_last(); // print_r(""); // print_r($e原创 2016-12-20 16:17:38 · 5935 阅读 · 0 评论