PHP生成腾讯云COS签名

目标 使用 PHP 创建 COS 接口所需要的请求签名 步骤 按照官方示例(也许是我笨,我怎么读都觉得官方文档结构费劲,示例细节互相不挨着,容易引起歧义),请求签名应用在需要身份校验的场景,即非公有读权限时。否则在请求API接口时,就必须携带签名作为请求头的一部分传递。 准备好用户信息 1. 将会使 ... »

PHP后端之验证码

PHP后端之验证码 前言: 打算写一些实际开发中遇到的东西。我这个人记性不好,觉得记下来,以后就算想找,也能找得到。 PHP,可能很长一段时间都不会使用了。所以还是留一些记录。 另外还有一些服务器架设的总结,之后整理了,会发布出来。 一,问题: 相信大家都有以下的经历: 1,上学的时候,猜解家里电脑 ... »

PHP内核之旅-3.变量

PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 一、弱类型语言 php是弱类型语言。一个变量可以表示任意数据类型。 php强大的一部分 ... »

微信对账单处理-PHP

最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,成功时,微信账单接口返回数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。 Ps:至于如何调用微信接口下载对账单,在微信的官方SDK包中 ... »

使用XHProf分析PHP性能瓶颈(二)

上一篇文章里,我们介绍了如何基于xhprof扩展来分析PHP性能,并记录到日志里,最后使用xhprof扩展自带的UI在web里展示出来。本篇文章将讲述2个知识点: 使用xhgui代替xhprof的默认UI界面,更便于分析 使用tideways扩展替换xhprof扩展 使用更漂亮的UI: xhgui ... »

Phpstorm+Xdebug断点调试PHP

安装Xdebug 如果是php7以下版本,需要加上版本号: pecl如果提示找不到该扩展,则使用源码编译。例如: 注:php5.6只能使用2.5及以下版本xdebug。 安装好后需要在php.ini进行配置: 需要注意的是: 1、是zend_extension,不是extension; 2、 开启后 ... »

一个简单的PHP模板引擎

PHP早期开发中通常是PHP代码和HTML代码混写,这也使代码中充斥着数据库操作,逻辑处理等。当项目不大时,这样的代码还可以接受,但是随着项目不断扩大,我们就会发现同一个文件中同时存在前端逻辑和后端处理,当逻辑越来越复杂时,代码的可读性和可维护性都会变得非常差,以至于后来不得不进行大规模的代码重构。 ... »

PHP内核之旅-2.SAPI中的Cli

PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 一、SAPI是什么? 1.1 理解SAPI (1)SAPI是PHP框架的接口层。有很多种服务器的SAPI的实现,代码在sapi文件夹下。常 ... »

PHP实现zip压缩打包下载

先来看PHP实现文件及文件夹的zip压缩 这里使用PHP扩展的ZipArchive类,在使用之前要将php.ini文件中的zlib.output_compression设置为On 代码如下: 在压缩完之后我们可能还需要下载,而且下载完之后还可以删除压缩文件。 代码如下: 以上的代码基本可以实现简单的 ... »

PHP+JQuery+Ajax初始化网站基本信息(附源码)--PHP

一、思路 为了保存用户会员信息的时间长一些,不局限于session的关闭。我们需要将用户信息保存在数据库中,前台每次登录都需要进行校验,来查看用看用户会员信息是否过期,如果没有过期,取出用户会员信息存入session中!二、核心功能实现 前台使用AJAX向后台发出请求,后台(本站采用PHP作为后台语 ... »

php留言板的实现

留言板功能的实现,主要就是通过编程语言对数据库进行操作,简单说也就是插入和查询的实现。不管是什么语言进行实现,道理都是一样的。 应学习需要,这里用php世界上最美的语言来进行实现。 主要步骤为: $sqlstr="insert into msg_board(username,msg) values( ... »

Zend引擎探索 之 PHP中前置递增不返回左值

首先来讲,一般我们对“左值”的理解就是可以出现在赋值运算符的左侧的标识符,也就是可以被赋值。这样讲也许并不十分确切,在不同的语言中对左值的定义也不尽相同。在这里我们讨论前置递增(和递减)运算符的场景下,说前置递增需要返回左值,更简明的来讲就是要返回变量自身,或者自身的引用。 一、分析问题 在PHP中 ... »

curl_multi实现并发

普通请求 curl_normal.php use time:0.830 s curl_multi并发 curl_multi.php use time:0.259 s curl_multi并发优化:curl_multi_select 在上个示例里当 时,执行 而整个批处理句柄没有全部执行完毕时,系统会 ... »

PHP内核之旅-1.生命周期

1.SAPI接口 PHP具体应用的编程接口。 2.开始和结束 PHP开始执行以后会经过两个主要的阶段: 处理请求之前的开始阶段和请求之后的结束阶段。 1.1开始阶段: 1.1.1 模块初始化阶段(MINT),只进行一次。 1.1.2 模块激活阶段(RINIT),PHP会调用所有模块的RINIT函数 ... »

Yii2.0阅读-behavior的实现原理

Yii2.0中的一个思想就是组件化的思想,所以、大多数的类都直接或间接的继承自yiiaseComponent,而组件的三大功能:属性、事件、行为。 行为的目的是为了方便的扩展一个类的功能,而不需要直接去修改这个类,同时行为中也附带了事件的实现。 1、整体的结构 Controller和模型Act ... »

PHP 扩展开发检测清单(扩展开发必读)

想要做出一个成功的 PHP 扩展包,不仅仅是简单的将代码放进文件夹中就可以了,除此之外,还有非常多的因素来决定你的扩展是否优秀。以下清单的内容将有助于完善你的扩展,并且在 PHP 社区中得到更多的重视。 1. 为你的扩展选择一个正确合适的名字 确保你的命名没有被其他项目使用。 扩展的名字需要和你的 ... »

swoole_event_add实现异步

swoole提供了 函数,可以实现异步。此函数可以用在Server或Client模式下。 实现异步tcp客户端 示例: php $sock swoole_process $pipe`或者其他fd stream资源,就是stream_socket_client/fsockopen创建的资源 socke ... »

swoole_proces实现多进程

简介 swoole_process 是swoole提供的进程管理模块,用来替代PHP的pcntl扩展。 首先,确保安装的swoole版本大于1.7.2: 实例说明 本例里待消费的是三个shell命令,会分别创建一个子进程来消费。消费的时候故意sleep了1秒,以便直观看到效果。 process_t1 ... »

PHP观察者模式与Yii2.0事件

1、先看PHP观察者模式的实现: 想要使用事件、必须实现事件的基类、统一的addObserver和trigger方法 定义统一接口、所有的观察者都要实现此接口 这种实现方式的好处是: 直接addObserver就好、事件完成之后直接触发就行了、因为观察者实现了统一的接口 不好的地方在于: 每个观察者 ... »

php中一些提高性能的技巧

php作为一种脚本语言,本身的性能上肯定是不如c++或者java的。拥有简单易学的特性的同时,性能提升的空间也并不是没有。养成一些好的编程习惯,也许可以让你的php代码性能得到可见的提升。 ... »