
php
文章平均质量分 61
__DEBUG__
在路上
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三个空饮料瓶可以换一瓶饮料,给你1箱(50瓶)饮料,你能喝多少瓶饮料?
function demo($num,$kong,$test){ $num2=$num+$kong; $a=intval($num2/$test); if($a if($kong==$test-1){ return 1; }else{ return; }原创 2014-07-16 12:53:54 · 4048 阅读 · 0 评论 -
php opcode缓存的扩展xcache的使用
安装的时候 跟安装其它扩展是一样的:wget http://xcache.lighttpd.net/pub/Releases/3.1.0/xcache-3.1.0.tar.gztar xzf xcache-3.1.0.tar.gzcd xcache-3.1.0/usr/local/webserver/php/bin/phpize./configure --with-php-con原创 2016-12-13 16:17:36 · 882 阅读 · 0 评论 -
对于xss和sql注入的防范(美团网站xss例子)
对于xss和sql注入这样的漏洞有很多工具是可以检测的。也是最常见的web安全问题。其实这样的问题是很好避免的 只要在应用架构上 统一数据的吞吐,在吞吐的过程中做好数据的校验就ok了最简单的php的 htmlspecialchars 就可以把一些危险字符进行转译就可以大大减低xss和sql注入的可能性也可以结合其他的函数进行更全面的过滤http://blog.csdn.n原创 2016-12-07 19:14:27 · 915 阅读 · 0 评论 -
php GD库做水印功能,合并图片
1.创建一个适应大小的底层图片 2.读取需要拼接的图片$dst_data=file_get_contents($dst_src);$dst_img = imagecreatefromstring($dst_data);3.把读取的图放到指定的位置,这里需要慢慢调试,使用下面的函数imagecopymerge4.出拼接后的图header("Content-Type:ima原创 2015-02-12 17:10:13 · 760 阅读 · 0 评论 -
nginx负载均衡的一些问题和具体配置
对于服务器集群的搭建,nginx负载均衡是很好的方式:思路如下图这里的session采用了session共享的方式,这样来避免一些情况下的session丢失。下面我会具体说到。session丢失:是因为文件存储session的方式会把session存储到当前服务器中,通过cookie中的sessionID来获取相应的session,如果第二次请求跟第一次请求不再一个服务器上那么sess原创 2016-12-15 11:06:06 · 2163 阅读 · 0 评论 -
php+redis实现对200w用户的即时推送服务
怎么实现对200w用户的即时推送,这个推送可以理解为调用第三方的接口,push,sms之类的东西。当时先写了一个demo 直接读取DB然后单个推送,结果。。。。可想而知于是设计一套基于redis+php多进程的方案,用着还不错而去扩展性蛮高的,故分享之。=============================================具体的逻辑如下:(无视我的字体)原创 2016-08-25 12:05:19 · 11389 阅读 · 4 评论 -
php消息队列的应用
最近打算开发一个新功能,计划应用消息队列。以前对消息队列都是简单的理论了解,真正应用之后把自己的感觉和一些理解整理下来。=================说正事分割线====================具体的业务场景如下:用户下单-》生成订单-》支付-》返回支付信息就是正常的订单逻辑,现在需要在中间做一个功能类似于,统计每张订单的来源,而这个来源就是整个平台的用户。相当于一原创 2016-09-03 16:26:49 · 3864 阅读 · 0 评论 -
php中redis memcache等缓存的应用
在web开发的过程中缓存是必不可少的工具,无论是mamcache还是redis我想大家都很有所涉略。我分享一下我个人在工作中的一些使用后的想法。===========================================缓冲应用设计:对于缓存的使用我想大家应该都会使用,简单的key=》value 我就不多说什么了 == 不会用的可以看下手册缓存无外乎就是原创 2016-10-13 12:15:19 · 2179 阅读 · 0 评论 -
php设计模式 【个人记录】工作中用到的设计模式
1.工厂模式在处理对应多平台支付的业务问题的时候,在page层通过不同的type调用data层不用平台的支付逻辑。secure_base.clase.php作为父类实现分发和type的定义和公共方法构造等,可以自行设计。 switch($source) { case Secure_Base::xxx:原创 2016-10-28 17:27:18 · 1369 阅读 · 3 评论 -
阿里云服务器日志服务使用
https://help.aliyun.com/document_detail/28960.html?spm=5176.doc29063.6.89.ZQ91B4 这个是官方的文档,我也是一步一步照着弄的还是比较清晰的,方便的。我在这里大致的说一下流程首先你一定要有一个Access Key Access Key Access Key ==(坑了一个下午,不申请的话就是不显示数据。都是眼泪原创 2016-08-13 14:22:38 · 6799 阅读 · 4 评论 -
nginx按日期存储日志
首先写一个sh的文件autolog.sh#!/bin/sh# Program:# Auto cut nginx log script.LOGS_PATH=/home/wwwlogs/ #你的日志目录TODAY=$(date -d 'yesterday' +%Y-%m-%d-%H)#TODAY=history # 移动日志并改名mv ${LOGS_PATH}/nginx_e原创 2016-08-17 16:28:57 · 6371 阅读 · 1 评论 -
php比较两个二维数组是否相同,多维数组
几天前跟同事讨论一个很有趣的问题,一直想写下来结果总没有时间,今天终于有时间了。如题:php如何比较两个二维数组是否相同?这个问题我在群里也问了很多人,大多数就是遍历了有的人遍历一次,有的人遍历两次。大概就是:foreach($arr1 as $k=>$v){ foreach($v as $kk=>$vv){ return $arr2[$k][$kk] ==原创 2016-09-19 13:10:40 · 12467 阅读 · 1 评论 -
php爬虫教程(四)抓取数据并进行处理
经过链接的分析,数据的分析,再加上规则的验证。很容易的我们就get到了我们打算抓取到的数据,so,我们就可以做我们想做的事情了。例如:<?phpheader("Content-type:text/html;charset=utf8");set_time_limit(0);require('client.php');$client = new client();$base_ur原创 2016-08-30 16:05:26 · 7542 阅读 · 0 评论 -
阿里云sls日志服务的简单监控 php实现
由于工作需要最近接触了阿里云的sls日志服务,写了一个基于阿里云sls日志服务和SDK的简单的监控脚本。==============================首先需要开通阿里云的日志服务并且可以通过控制台读取相应日志,这里不就不详细说了有时间我会专门写一篇这方面的帖子。值得注意的是,想要通过SDK读取日志的话一定要设置日志索引。设置索引:https://help.aliy原创 2016-08-13 13:58:34 · 5055 阅读 · 0 评论 -
php关于pdf的读取(xpdf)
php读取pdf主要采用了xpdf+shell_exec这个模式,通过xpdf把pdf解析然后用正则表达式获取你想要的东西。安装方式:[root@localhost ~]# mkdir -p /lcf/upan [root@localhost ~]# mkdir -p /lcf/cdrom [root@localhost ~]# mkdir -p /lcf/xpdf [原创 2016-11-15 10:21:45 · 4574 阅读 · 0 评论 -
php钩子和简单的分发方式
//简单的钩子实现例子class tool{ public static function main($class, $fun, $data = ''){ //前置公共操作 $con = new $class; $con->$fun($data); //后置公共操作 }}class a{ functio原创 2016-11-16 11:02:02 · 1722 阅读 · 0 评论 -
php的一些实用方法记录(经纬度计算,星期计算)
/** * @desc 根据两点间的经纬度计算距离* @param float $lat 纬度值* @param float $lng 经度值*/function getDistance($lat1,$lng1, $lat2,$lng2) { $earthRadius= 6367000; //approximate radius of ear原创 2016-11-10 11:02:03 · 676 阅读 · 0 评论 -
今天开始写自己的博客
从工作以来,我总是看别人的博客和文章,真心的想对原创 2014-07-02 20:19:26 · 646 阅读 · 1 评论 -
常用的php函数
md5_file() //获取文件散列extension_loaded() //检查扩展是否存在function_exists() //检查函数是否存在 strtolower() //字符串全部转化为小写 array_unique()原创 2015-02-12 16:29:53 · 389 阅读 · 0 评论 -
PHP unset销毁变量并释放内存
PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看一个例子:$s=str_repeat('1',255);//产生由255个1组成的字符串 $m=memory_get_usage(); //获取当前占用内存 unset($s);$mm=memory_get_usage();转载 2015-07-13 16:36:03 · 422 阅读 · 0 评论 -
memcached server LRU 深入分析
Memcached,人所皆知的remote distribute cache(不知道的可以javaeye一下下,或者google一下下,或者baidu一下下,但是鉴于baidu的排名商业味道太浓(从最近得某某事件可以看出),所以还是建议javaeye一下下),使用起来也非常的简单,它被用在了很多网站上面,几乎很少有大型的网站不会使用memcached。曾经我也看过很多剖析memcached转载 2015-07-14 09:46:00 · 372 阅读 · 0 评论 -
php实现简单多进程的方法
这几天工作中运行脚本的时候研究了一下php的多进程,在此分享下。实现原理采用的linux的进程黑洞 > /dev/null 2>&1 &这样的一个命令 和 php的exec函数poss.php<?phpfor($i=1;$i<10;$i++) exec('/usr/local/php/bin/php b.php > /dev/null 2>&1 &');?>b.php原创 2015-07-17 12:27:37 · 1257 阅读 · 0 评论 -
mysql索引优化
在新建索引和书写sql语句的时候要遵循,myslq的最左前缀匹配原则(会一直从左向右匹配直到遇到范围查询(>、)停止匹配以后的字段就不会再走索引,所以在写sql的时候尽量把“=”的where条件从左至右的书写 最后写“>、”,在建立索引的时候也要把“=”作为where条件的字段放到索引的前面。如:select * from t_table where a=1 and b=2 and c=3 a原创 2016-10-09 18:28:07 · 586 阅读 · 2 评论 -
php面试题猴子123报数(猴子选大王)
题目就是有N个猴子,123循环报数数到3的猴子被踢出下一个接着报数,一遍一遍的循环直到剩余一个猴子,求这个猴子是最开始的第几号猴子。我想到了两个方法第一个就是模拟报数的模式 每到3的时候unset一个元素 最后剩余的就是 要求的猴子。代码大概是这个样子:<?php$num = 0;$arr = array(1,2,3,4,5,6);while(count($arr) !原创 2016-09-08 11:55:42 · 4696 阅读 · 1 评论 -
php爬虫教程(五)提高爬虫抓取效率
多进程抓取原创 2016-08-30 16:16:58 · 5097 阅读 · 2 评论 -
php爬虫教程(三)规则分析
像我之前说的例子就是很简单的抓取例子,也有的平台为了防止爬虫抓取数据很做一些请求的验证。原创 2016-08-30 15:52:48 · 2377 阅读 · 0 评论 -
php爬虫教程(二)数据请求分析
可以看到这个请求返回的就是整个页面的html,如果我们需要这里的某一个数据就可以通过正则匹配的方式匹配出来/(.*?)/ 这样title就被匹配出来了这是我实际应用的一个代码段仅供参考。foreach($arr as $v=>$k){ $str = ''; $res = $client->get("http://waimai.xxxxx.com/waimai/sho原创 2016-08-30 15:18:51 · 2296 阅读 · 0 评论 -
mysql优化和简单的数据库设计
在工作过程中经历了几个不错的项目,所采用的数据库设计也是多种多样,这里我简单的说一下自己的想法,有不对的地方欢迎探讨。===============分割线=====================对于数据库的优化可以从最基础的服务器选择开始优化,选择好的SSD硬盘当然是事半功倍,其次‘合理的数据结构’和‘严谨的建表规范’ 也是必要的过程。合理的索引加上适当的字段冗余也是不错的选原创 2016-09-30 16:41:51 · 920 阅读 · 0 评论 -
php 自带过滤和转义函数
php 自带过滤和转义函数 函数名释义介绍htmlspecialchars将与、单双引号、大于和小于号化成HTML格式&转成&"转成"' 转成'>转成>htmlentities()所有字符都转成HTML格式原创 2016-11-07 10:40:26 · 929 阅读 · 0 评论 -
php短信系统,业务发送短信,ETL发送,自定义发送
目前在开发一套短信系统,包括:业务中发送短信:在完成订单后给用户发送短信提示。ETL发送:通过一些数据分析需求,给一些筛选出的用户发送特定的短信(例:在订单快要过期的前两天发送提示短信。)自定义发送:提供使用页面,上传需要发送的用户手机号,然后进行发送。(量级可能会很大。)============开始===================由于使用场景的多样性,我打算进行整合原创 2016-11-09 15:18:34 · 982 阅读 · 0 评论 -
php数字字符串排序输出不能使用任何php内置函数
<?php$a = '502341';for($i=0;$i>-1;$i++){ if(@$a[$i] == null) break; for($k=0;$k>-1;$k++){ if(@$a[$k] == null) break; if($a[$i] < $a[$k]){ $c = $a[原创 2016-10-19 19:29:11 · 1259 阅读 · 4 评论 -
WebSocket+php实现tail -f 命令的web版本 实时输出日志的增量 web监控log日志
实现方式是:php的Workerman框架+js的WebSocketPHP:workerman 官网地址,可以通过 composer 安装 :{ "require": { "walkor/workerman": "^3.5" }}JS:socket WebSocket<script src='//cdn.bootcss.com/...原创 2018-12-28 16:39:46 · 2199 阅读 · 0 评论