-
Ecshop 后台添加新功能栏目及管理权限设置教程
所属栏目:[PHP教程] 日期:2021-03-16 热度:68
一、添加菜单项 打开 /admin/includes/inc_menu.php 文件(后台框架左边菜单),在最后添加一行如下: 1$modules['17_other_menu']['sns_list'] = 'sns_list.php?act=list'; ecshop默认一级菜单项有16项,所里这里的例子从17开始。当然这个key可以随便取的,in[详细]
-
PHP实现在对象之外访问其私有属性private及保护属性protected的
所属栏目:[PHP教程] 日期:2021-03-16 热度:143
本篇章节讲解PHP实现在对象之外访问其私有属性private及保护属性protected的方法。供大家参考研究具体如下: 比较经典的用法示例如下: "; } private function b(){ echo "function b "; } protected function c(){ echo "function c "; } } //子[详细]
-
PHP实现UTF8二进制及明文字符串的转化功能示例
所属栏目:[PHP教程] 日期:2021-03-16 热度:96
本篇章节讲解PHP实现UTF8二进制及明文字符串的转化功能。供大家参考研究具体如下: ");$a = "FE";$a1 = "FF";$s = 16;$e = 2;echo $s . "进制的" . $a . "表示为" . $e . "进制是" . base_convert($a,$s,$e) . b;echo $s . "进制的" . $a1 . "表示[详细]
-
使用PHPStorm+XDebug搭建单步调试环境
所属栏目:[PHP教程] 日期:2021-03-16 热度:171
PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,或者想研究一下别人的代码时,使用单步调试会变得简单的多。就拿目前最流行的 PHP Lara[详细]
-
PHP空值检测函数与方法汇总
所属栏目:[PHP教程] 日期:2021-03-16 热度:184
几乎任何入口的HTTP请求我们都会去检测它携带的参数,类似 isset() empty() 的函数一定不少见。以下的测试结果基于 PHP7.16 是否定义判断: isset() 可以使用 isset() 函数判断一个变量是否定义,数组内某个元素是否被初始化,它的效率比 array_key_exists()[详细]
-
php利用云片网实现短信验证码功能的示例代码
所属栏目:[PHP教程] 日期:2021-03-16 热度:136
本文将以php举例,介绍网页短信验证码功能的实现。 在众多的第三方短信服务商中我选择了云片网这个短信服务商,本文也将尽可能利用最简单的方式去帮助广大开发者解决短信验证码功能模块的实现。 再次之前我也参考了大部分网上的博客等,大多数都是把云片网的[详细]
-
swoole和websocket简单聊天室开发
所属栏目:[PHP教程] 日期:2021-03-16 热度:86
首先,我想说下写代码的一些习惯,第一,任何可配置的参数或变量都要写到一个config文件中。第二,代码中一定要有日志记录和完善的报错并记录报错。言归正传,swoole应该是每个phper必须要了解的,它号称重新定义了php。此聊天室利用了swoole高并发并且异步[详细]
-
基于PHP-FPM进程池探秘
所属栏目:[PHP教程] 日期:2021-03-15 热度:71
PHP 支持多进程而不支持多线程;PHP-FPM 在进程池中运行多个子进程并发处理所有连接请求。通过 ps 查看PHP-FPM进程池(pm.start_servers = 2)状态如下: 从列表中可以看出,进程池www中有两个尚处于空闲状态的子进程PID 8和 PID 9。注:NLWP指轻量级进程数量[详细]
-
利用PHP实现开心消消乐的算法示例
所属栏目:[PHP教程] 日期:2021-03-15 热度:175
前言 本文主要介绍了关于PHP如何实现我们大家都知道的开心消消乐的算法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、需求描述: 1、在一个8*8的矩阵方格中随机出现5种颜色的色块。 2、当有三个或以上色块在横向或纵向上相连,则[详细]
-
如何直接访问php实例对象中的private属性详解
所属栏目:[PHP教程] 日期:2021-03-15 热度:130
前言 本文主要介绍了关于如何直接访问php实例对象中private属性的相关内容,在介绍关键部分之前,我们先回顾一下php面向对象的访问控制。 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。[详细]
-
深入理解PHP中mt_rand()随机数的安全
所属栏目:[PHP教程] 日期:2021-03-15 热度:168
前言 在前段时间挖了不少跟mt_rand()相关的安全漏洞,基本上都是错误理解随机数用法导致的。这里又要提一下php官网manual的一个坑,看下关于mt_rand()的介绍:中文版^cn 英文版^en,可以看到英文版多了一块黄色的 Caution 警告 很多国内开发者估计都是看的中文[详细]
-
彻底搞懂PHP 变量结构体
所属栏目:[PHP教程] 日期:2021-03-15 热度:192
PHP5 中的 zval 多数文章,在提到PHP5 变量结构体的时候,都提到:sizeof(zval) == 24,sizeof(zvalue_value) == 16,实际上这个论述并不准确,在 CPU 为 64bit 时,这个结果是正确的。 但当 CPU 为32bit 时: sizeof(zval) == 16,sizeof(zvalue_value) == 8[详细]
-
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
所属栏目:[PHP教程] 日期:2021-03-14 热度:186
前言 mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。 PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt. 示例代码 可据需求,自行改编。 总结 以上[详细]
-
php 数据结构之链表队列
所属栏目:[PHP教程] 日期:2021-03-14 热度:185
php 链表队列 实例代码: private $last; private $first; private $oldfirst; private static $n=0; public function __construct(){ $this-last = null; $this-first = null; $this-oldfirst = null; } public function push($item){ $this-oldfirst = $th[详细]
-
PHP实现统计所有字符在字符串中出现次数的方法
所属栏目:[PHP教程] 日期:2021-03-14 热度:145
本篇章节讲解PHP实现统计所有字符在字符串中出现次数的方法。供大家参考研究具体如下: 先来看看效果: 算法: 循环一次字符串(本例的 $str ),把出现过的字符串记录在一个数组(如本例的 $strRecord )内,如果已经此记录函数已经有,则不记录[详细]
-
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
所属栏目:[PHP教程] 日期:2021-03-14 热度:53
前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验。最近看了看 QQ 互联上 QQ 登录的接口文档。接入 QQ 登录的一般流程呢,是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid[详细]
-
PHP多进程编程之僵尸进程问题的理解
所属栏目:[PHP教程] 日期:2021-03-14 热度:166
PHP多进程编程之僵尸进程问题的理解 使用pcntl_fork函数可以让PHP实现多进程并发或者异步处理的效果: 那么问题是我们产生的进程需要去控制,而不能置之不理。最基本的方式就是fork进程和杀死进程。 通过利用pcntl_fork函数,我们已经有了新的子进程,而子进[详细]
-
详解PHP字符串替换str_replace()函数四种用法
所属栏目:[PHP教程] 日期:2021-03-14 热度:111
下面通过本文给大家分享PHP字符串替换str_replace()函数4种用法,具体内容如下所示: mixed str_replace ( mixed $search,mixed $replace,mixed $subject [,int &$count ] ) 该函数返回一个字符串或者数组。该字符串或数组是将subject中全部的search都被repl[详细]
-
PHP多进程之pcntl_fork的实例详解
所属栏目:[PHP教程] 日期:2021-03-14 热度:63
PHP多进程编之pcntl_fork的实例详解 其实PHP是支持并发的,只是平时很少使用而已。平时使用最多的应该是使用PHP-FMP调度php进程了吧。 但是,PHP的使用并不局限于做Web,我们完全也可以使用PHP来进行系统工具类的编程,做监控或者是运维。在使用这些方向的时[详细]
-
PHP长网址与短网址的实现方法
所属栏目:[PHP教程] 日期:2021-03-14 热度:122
顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接。长链接可以生成短链接,短链接来源于长链接。 什么是长链接、短链接 顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接。长链接可以生成短链接,短链接来源于长链接。 为什么要使[详细]
-
php封装单文件上传到数据库(路径)
所属栏目:[PHP教程] 日期:2021-03-14 热度:131
1.首先思考一个问题上传到数据库是上传的图片还是图片地址这里我们上传的是图片地址,因为图片或音频存数据库中过大,数据库会崩掉。 下面是封装的文件上传的方法: $maxSize){ return [0,'传的文件超过最大限制']; } //判断文件的mime类型 if(!in_array($_F[详细]
-
PHP-X系列教程之内置函数的使用示例
所属栏目:[PHP教程] 日期:2021-03-14 热度:60
前言 本文主要给大家介绍关于PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单。 对php-x不熟悉的朋友们可以看下这篇文章:https://segmentfault.com/a/1190000022222074 echo 在扩展中需要[详细]
-
基于php流程控制语句和循环控制语句(讲解)
所属栏目:[PHP教程] 日期:2021-03-14 热度:118
1、流程控制语句主要有if、ii...else、elseif(有时也可以写成else if)、switch四种。 PHP中语句格式为: if(条件满足) {执行语句} if(条件满足) {执行语句} else {执行语句} if(条件满足) {执行语句} elseif {执行语句} elseif {执行语句} ....... else {执[详细]
-
PHP实现实时生成并下载超大数据量的EXCEL文件详解
所属栏目:[PHP教程] 日期:2021-03-14 热度:120
前言 最近在工作中接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况。而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成超大数据量的excel文件时这显然是会造成内存溢出的[详细]
-
利用PHP获取汉字首字母并且分组排序详解
所属栏目:[PHP教程] 日期:2021-03-14 热度:137
前言 本文主要给大家介绍了关于PHP获取汉字首字母并分组排序的相关内容,因经常我们在做项目的时候,会有按首字母排序的需求 比如: 美团的城市选择 app中按字母搜索 正题 网上找了各种,不尽人意,于是,自己就写了一个,分享给大家。 /** @author Tech */[详细]