![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
littleZhuHui
程序员
展开
-
一份烧脑的推理题,PHP编程轻松解决
一份烧脑的推理题,PHP编程轻松解决推理问卷如下解题程序推理问卷如下解题程序<?php/**刑侦推理试题求解程序*作者:littlezhuhui*45022300@qq.com*2019-6-8*///存放10道题答案的全局数组$questionAnswer=[];//模拟做题过程的函数,$n表示题号function question($n){ globa...原创 2019-06-16 14:44:09 · 550 阅读 · 0 评论 -
中文脚本编译器的设计与实现(二)词法分析器
中文脚本编译器的设计与实现(一)词法分析器原创 2019-07-09 23:57:51 · 363 阅读 · 0 评论 -
php自动生成C代码并自动编译运行
php自动生成C代码并自动编译运行原创 2019-06-30 00:44:30 · 1382 阅读 · 0 评论 -
php7.2连接sqlserver2017并调用存储过程
php与mysql的配置很常见,但偶尔需要用php连接sqlserver时,就要稍费一些手脚。基本配置:Windows 10 企业版;Apache2.4;php7.2.4;SQL Server 2017;按照网上太多数的文献,要先从微软官网上下载 用于连接 SQL Server 的php扩展。网址是:https://www.microsoft.com/en-us/download/deta...原创 2019-07-23 20:14:10 · 1098 阅读 · 0 评论 -
Windows下编写php扩展(三)利用php-cpp在window上快速开发PHP扩展
引言在前一篇文章《Windows下编写php扩展(二)将linux下的php-cpp项目移植到windows》说明了将php-cpp移植到windows的过程。接下来谈一谈用php-cpp开发php扩展的过程,本次的实验平台是win10 企业版,visual C++ 2017 社区版。基本工作内容开发php扩展的工作区基本内容如下:phpcpp-dev\include 目录下存放要引用...原创 2019-08-02 20:42:28 · 1181 阅读 · 0 评论 -
Windows下编写php扩展(二)将linux下的php-cpp项目移植到windows
linux下的php-cpp项目原创 2019-07-30 21:59:57 · 889 阅读 · 0 评论 -
Windows下编写php扩展(四)对使用phpcpp开发的php扩展进行调试
对使用phpcpp开发的php扩展进行调试原创 2019-08-04 20:41:54 · 578 阅读 · 0 评论 -
Windows下编写php扩展(一)基本开发环境的搭建
Windows下编写php扩展比在Linux下要麻烦一些。原创 2019-07-27 00:20:36 · 829 阅读 · 0 评论 -
中文脚本编译器的设计与实现(一)概论(2)编译器的总体结构
编译器的总体结构原创 2019-07-31 22:55:47 · 265 阅读 · 0 评论 -
php 实现类似于pyhon中的Contruct库的功能(四)实现do-while功能
引言在文章《php 实现类似于pyhon中的Contruct库的功能(一) 基本设计思路》介绍了用php解析二进制数据的基本思路在文章《php 实现类似于pyhon中的Contruct库的功能(二)实现适配器功能》说明了如何实现适配器功能。在文章《php 实现类似于pyhon中的Contruct库的功能(三)实现if-else功能》说明了如何if-else功能。这一次要实现的是do-whi...原创 2019-08-18 22:03:59 · 203 阅读 · 0 评论 -
php 实现类似于pyhon中的Contruct库的功能(一) 基本设计思路
引言在python中有一个库Construct ,可以用来解析二进制数据,用这个工具分析网络包,带格式的数据文件等等很方便。前一阵子分析sqlite数据库文件格式时要是用这种工具,也可以省不少事。不过Construct2.9与以前的版本,改动很大,原来用Construct写的python代码,基本上要重新改写一遍了。在查看Construct源码的过程中,发现Construct的基本实现思路是...原创 2019-08-11 21:40:21 · 233 阅读 · 0 评论 -
php应用不及python广泛的一个重要原因
python比php更流行,原因何在一开始php就瞄准风网页应用,在其它的领域很少发力python一开始就是想简化 C,但定位是通用性开发语言更重要的一点是,python建立起了方便的扩展机制,可以方便用python或c编写库,发布库,用pip 安装库而php在可扩展性上就要差得许多,很长时间都没有库的发布与安装机制,所以只能定位在网页脚本上,在其它方面的应用比python差远了。...原创 2019-08-12 20:33:41 · 228 阅读 · 0 评论 -
php 实现类似于pyhon中的Contruct库的功能(二)实现适配器功能
引言在上一篇文章《php 实现类似于pyhon中的Contruct库的功能(一) 基本设计思路》介绍了用php解析二进制数据的基本思路。接下来要完成两个工作。在上一篇文章中采用解析函数的方式,现在改成用解析类,在类中包含parse方法。在定义结构体数据项时,加上适配器功能,用管道运算符| 连接数据项与适配器,实现数据的变换。基本思路1,修改词法分析规则,使其可以接受管道运算符 |2...原创 2019-08-16 21:54:50 · 194 阅读 · 0 评论 -
php 实现类似于pyhon中的Contruct库的功能(三)实现if-else功能
引言在文章《php 实现类似于pyhon中的Contruct库的功能(一) 基本设计思路》介绍了用php解析二进制数据的基本思路在文章《php 实现类似于pyhon中的Contruct库的功能(二)实现适配器功能》说明了如何实现适配器功能。以上两篇都是对静态数据结构进行解析。接下来要逐步实现动态数据结构的解析。也就是说数据结构的定义与上下文有关,要在数据解析时才能真正确定。这一次要实现的是...原创 2019-08-17 21:40:54 · 216 阅读 · 0 评论 -
php网站项目部署时遇到的中文路径名问题及解决过程
遇到的问题有一个php开发的网站项目,本地开发环境是win10,近日准备部署在另一台电脑时出了问题,用于部署的电脑操作系统也是win10。但是部署完成后,发现一些图片在浏览器页面上无法显示。问题分析开发环境与部署环境都是win10,为什么在开发机上可以正常工作的页面,到了部署机上就出了问题呢?排除了部署过程中的一些常规错误,比如数据库表,资源文件夹,都正常。最后经过检查,发现这些不能显示的图...原创 2019-09-29 20:23:34 · 1402 阅读 · 2 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(7) 索引B树叶子节点分析
引子书接上回,前面分析了三种B树节点的结构,现在还剩下最后一种。说实话,我是宁愿写代码也懒得写文档的人。因为写代码有编译器帮你检查错误 ,写文档就只有自已检查错误。而我又经常犯一些超低级错误,写在文档里让人看见,真是很没有面子。可是现在能坐在电脑前的时间越来越少,再不抓紧时间写点东西。以后就是想写,也是有心无力了。树欲静而风不止,人欲睡而电不停,奈何!奈何!正式开始上一篇文章说到只要在数据库...原创 2019-06-24 22:22:21 · 399 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(6) 索引B树内部节点分析
引子书接上回。前面了解了数据表B树的内部节点与叶子节点的结构。接下来要分析索引B树的节点结构。下面先看一下索引B树的内部节点。数据表B树与数据结构中的B+树对应,索引B树与数据结构中的B树对应。B树与B+树的最大不同在于,在B树的内部节点上也存放有记录数据。在接下来的分析中,咱们可以验证这一点。...原创 2019-06-24 21:58:09 · 487 阅读 · 0 评论 -
2的平方根的一种求解方法,php编程实现
2的平方根的一种求解方法,php编程实现基本原理解题程序基本原理与常见的二分法,年顿迭代法的思路不一样。此方法直接求出2的平方根的二进制表示后,再转换为10进制输出,理论上可以实现无限的精度。基本思路是逐一判断1.0后跟的序列中的每一位应该是1还是0。解题程序<?php//求出2的平方根,以二制数表示,并且不含小数点$r = sqrt2(60);binPrint($r);...原创 2019-06-16 15:14:54 · 991 阅读 · 0 评论 -
php中如何将整数转换为16进制串
php中如何将事业转换为16进制串原创 2019-06-22 09:12:27 · 3855 阅读 · 0 评论 -
php将整数写入文件时一个值得注意的地方
php中整数在写入文件时的特点原创 2019-06-28 09:41:27 · 223 阅读 · 0 评论 -
php中为什么要提供unpack函数与pack函数的一点思考
php中unpack函数与pack函数的用法分析原创 2019-06-28 17:19:27 · 209 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(1) 数据库文件头分析
要深入了解sqlite数据库,数据库文件的存放格式必须熟悉原创 2019-06-22 10:48:15 · 981 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(3) B树页头分析
Btree页是sqlite数据库中最重要的页类型。每个Btree由4部分组成1.页头2.单元指针数组3.未分配空间4.单元内容区下面先来分析页头内容:bTreeInt.h中说明如下:** The page headers looks like this:**** OFFSET SIZE DESCRIPTION** 0 1 Fla...原创 2019-06-24 17:08:57 · 705 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(2) 变长整型分析
sqlite中大量使用了变长整形,为了分析sqlite的数据文件格式 ,这是一个绕不过去的点。变长整数由1至9个字节组成,如果整形值比较小,占用的字节数就少,整形值比较大,占用的字节数就多。这实际上是一种压缩编码技术。变长整型的每个字节的低7位有效,第8位是标志位。在组成可变长整数的各字节中,前面字节(整数的高位字节)的第8位置1,只有最后一个字节的第8位置0,表示整数结束。觉没觉得得和c语言的...原创 2019-06-22 14:10:08 · 523 阅读 · 0 评论 -
命令行执行php改成通过浏览器执行,自动实现图形菜单功能
把命令行下执行php改成在浏览器下执行,自动实现图形菜单功能原创 2019-06-29 06:59:36 · 389 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(8)小结篇
小结书接上回,前面几篇给sqlite的B树页数据格式做了一些分析,接下来准备转到源码的阅读上去。其实数据库上还有一些页格式没有分析到,这些就留到后面去做。在做源码阅读之前,把这一块的工作做一个小结。...原创 2019-06-26 10:05:11 · 238 阅读 · 0 评论 -
php实现任意文本文件的模板替换
原理php的模板替换功能很强大,不仅仅可以用于网页,实际上可以用于任何文本文件的模板替换。因此对于一些代码的自动生成需求来说,php的模板替换是一个很强大的功能。php 执行一个文件时,在<?php ...?>之外的内容会原封不动地输出,<?php ...?>内部的内容会动态执行。再配合操作系统的重定向命令,可以很方便地将替换后的结果写入文件。示例下面用一个具体的例子...原创 2019-06-23 11:13:53 · 993 阅读 · 0 评论 -
一种巧妙的graphviz绘图环境的搭建方案
php 结合 graphviz生成图形,比用 gvedit.exe 更方便现在用的浏览器上直接有截图按钮,可以很方便地绘制的图形取下来,如果用gvedit.exe,还要再想用其它的工具截图,使用起来不如用浏览器自带的截图工具方便。...原创 2019-06-26 21:21:08 · 588 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(4) 数据表B树叶子节点分析
引子书接前回,上次分析了B树节点的页头,不论是数据表对应的B+树,还是索引对应的B树,树节点分成两大类。一类是叶子节点,一类是内部节点。叶子节点的页头大小是8个字节,内部节点的页头大小是12个字节。为什么?内部节点要在页头的最后面加上4个字节存放最右孩子的页号。所以多出来4个字节。4个字节可以看作一个32的无符号整数。所以sqlite数据库中最多有2^32 - 1页。如果一页是1k.则数据库...原创 2019-06-24 19:01:44 · 459 阅读 · 0 评论 -
sqlite源码分析之路(二) 数据库文件格式探索(5) 数据表B树内部节点分析
引子书接上回,前面看了数据表B树叶子节点。接下来要看一看数据表B树内部节点。数据表B树内部节点是4种B树节点中结构最简单的,为什么?它没有payload。它里面的单元不包含具体的记录数据,只包含关键值与左孩子指针,在逻辑上形成树形结构。正式开始要想得到一个数据表B树内部节点,最简单的办法就是向sqlite数据表中多插入一些数据,当数据在一页内放不下时,内部节点就出现了。B树的深度也就增长了...原创 2019-06-24 21:27:37 · 296 阅读 · 0 评论 -
Windows上获取当前调用堆栈信息,并用graphviz图形化显示调用堆栈
引言前面的文章《Windows上获取当前调用堆栈信息,StackWalker的C语言实现》实现了如何通过编程的方式获取调用堆栈的详细信息。本文接下说明如何将分析得到的结果用图形化的方式展现出来。为此选用了功能强大的文本处理工具php与编程式绘图工具graphviz。实现步骤具体的实现步骤如下:1.用StackWalker生成调用堆栈的信息,并保存到文本文件callStackResult.t...原创 2019-07-08 21:54:53 · 1043 阅读 · 0 评论 -
windows环境以fastcgi方式运行php脚本
在说明fastcgi方式之前,先对php_module方式做一个简要说明php_module方式的简要说明常见的执行php脚本的方式是php_module 方式:以apache2.4 及php7.2.4为例进行说明,在php_module方式执行时,php脚本的执行并不是在单独的进程中进行,而是由apache服器加载一个dll,这个dll负责php脚本的解释执行。比如在apache的配置文...原创 2019-10-03 15:52:30 · 3766 阅读 · 0 评论