-
Laravle eloquent 多对多模型关联实例详解
所属栏目:[PHP教程] 日期:2021-03-15 热度:169
什么是多对多关联? Eloquent中一个模型就是一个数据表,数据表之间通常会有关联,多对多关联就是2个表之间相互有很多关联,比如说:一个表存放了用户数据, 另一个表存放了文章的信息, 一个用户可以收藏多篇文章,一篇文章也可以被多个用户收藏,这就是 多[详细]
-
PHP多维数组排序array详解
所属栏目:[PHP教程] 日期:2021-03-15 热度:188
PHP数组Array按字段排序 $value) { $temp[$key] = $value[$filed]; } array_multisort($temp,$type,$data); return $data; } PHP数组Array按二维排序,先按第一个字段排序,再按第二个字段排序 $value) { $temp_array1[$key] = $value[$filed1]; $temp_array[详细]
-
Ecshop 后台添加新功能栏目及管理权限设置教程
所属栏目:[PHP教程] 日期:2021-03-15 热度:187
一、添加菜单项 打开 /admin/includes/inc_menu.php 文件(后台框架左边菜单),在最后添加一行如下: 1$modules['17_other_menu']['sns_list'] = 'sns_list.php?act=list'; ecshop默认一级菜单项有16项,所里这里的例子从17开始。当然这个key可以随便取的,in[详细]
-
PHP实现统计所有字符在字符串中出现次数的方法
所属栏目:[PHP教程] 日期:2021-03-14 热度:92
本篇章节讲解PHP实现统计所有字符在字符串中出现次数的方法。供大家参考研究具体如下: 先来看看效果: 算法: 循环一次字符串(本例的 $str ),把出现过的字符串记录在一个数组(如本例的 $strRecord )内,如果已经此记录函数已经有,则不记录[详细]
-
基于PHP-FPM进程池探秘
所属栏目:[PHP教程] 日期:2021-03-14 热度:128
PHP 支持多进程而不支持多线程;PHP-FPM 在进程池中运行多个子进程并发处理所有连接请求。通过 ps 查看PHP-FPM进程池(pm.start_servers = 2)状态如下: 从列表中可以看出,进程池www中有两个尚处于空闲状态的子进程PID 8和 PID 9。注:NLWP指轻量级进程数量[详细]
-
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
所属栏目:[PHP教程] 日期:2021-03-14 热度:58
前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验。最近看了看 QQ 互联上 QQ 登录的接口文档。接入 QQ 登录的一般流程呢,是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid[详细]
-
PHP多进程之pcntl_fork的实例详解
所属栏目:[PHP教程] 日期:2021-03-14 热度:67
PHP多进程编之pcntl_fork的实例详解 其实PHP是支持并发的,只是平时很少使用而已。平时使用最多的应该是使用PHP-FMP调度php进程了吧。 但是,PHP的使用并不局限于做Web,我们完全也可以使用PHP来进行系统工具类的编程,做监控或者是运维。在使用这些方向的时[详细]
-
PHP长网址与短网址的实现方法
所属栏目:[PHP教程] 日期:2021-03-14 热度:74
顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接。长链接可以生成短链接,短链接来源于长链接。 什么是长链接、短链接 顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接。长链接可以生成短链接,短链接来源于长链接。 为什么要使[详细]
-
php封装单文件上传到数据库(路径)
所属栏目:[PHP教程] 日期:2021-03-14 热度:73
1.首先思考一个问题上传到数据库是上传的图片还是图片地址这里我们上传的是图片地址,因为图片或音频存数据库中过大,数据库会崩掉。 下面是封装的文件上传的方法: $maxSize){ return [0,'传的文件超过最大限制']; } //判断文件的mime类型 if(!in_array($_F[详细]
-
利用PHP实现开心消消乐的算法示例
所属栏目:[PHP教程] 日期:2021-03-14 热度:117
前言 本文主要介绍了关于PHP如何实现我们大家都知道的开心消消乐的算法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、需求描述: 1、在一个8*8的矩阵方格中随机出现5种颜色的色块。 2、当有三个或以上色块在横向或纵向上相连,则[详细]
-
如何直接访问php实例对象中的private属性详解
所属栏目:[PHP教程] 日期:2021-03-14 热度:97
前言 本文主要介绍了关于如何直接访问php实例对象中private属性的相关内容,在介绍关键部分之前,我们先回顾一下php面向对象的访问控制。 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。[详细]
-
深入理解PHP中mt_rand()随机数的安全
所属栏目:[PHP教程] 日期:2021-03-14 热度:82
前言 在前段时间挖了不少跟mt_rand()相关的安全漏洞,基本上都是错误理解随机数用法导致的。这里又要提一下php官网manual的一个坑,看下关于mt_rand()的介绍:中文版^cn 英文版^en,可以看到英文版多了一块黄色的 Caution 警告 很多国内开发者估计都是看的中文[详细]
-
彻底搞懂PHP 变量结构体
所属栏目:[PHP教程] 日期:2021-03-14 热度:137
PHP5 中的 zval 多数文章,在提到PHP5 变量结构体的时候,都提到:sizeof(zval) == 24,sizeof(zvalue_value) == 16,实际上这个论述并不准确,在 CPU 为 64bit 时,这个结果是正确的。 但当 CPU 为32bit 时: sizeof(zval) == 16,sizeof(zvalue_value) == 8[详细]
-
PHP Socket网络操作类定义与用法示例
所属栏目:[PHP教程] 日期:2021-03-10 热度:147
本篇章节讲解PHP Socket网络操作类定义与用法。供大家参考研究具体如下: web前端测试: test mysocket.php: conn = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) conn)."n[详细]
-
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
所属栏目:[PHP教程] 日期:2021-03-10 热度:73
PHP访问MySql数据库 //写SQL语句 $sql = "select * from student"; //检测连接数据库是否成功,失败返回“连接失败”,并退出程序 if(mysqli_connect_error()){ die("连接失败"); } //执行SQL语句,返回结果集对象 $result = $db-query($sql); var_dump($resu[详细]
-
php token使用与验证示例【测试可用】 #60;font color=red#62;
所属栏目:[PHP教程] 日期:2021-03-10 热度:93
本篇章节讲解php token使用与验证。供大家参考研究具体如下: 一、token功能简述 PHP 使用token验证可有效的防止非法来源数据提交访问,增加数据操作的安全性 二、实现方法: 前台form表单: "/ "/ "/ 后台do.php的token验证部分: 更多关于PHP相[详细]
-
php实现支持中文的文件下载功能示例
所属栏目:[PHP教程] 日期:2021-03-10 热度:112
前言 本文主要给大家介绍了关于php实现支持中文的文件下载功能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 问题说明 文件下载,通常有一种最为简单的方法,那就是将url直接指向服务器上文件的所在位置。但是这个方法存在[详细]
-
PHP单例模式与工厂模式详解
所属栏目:[PHP教程] 日期:2021-03-10 热度:105
一、单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模式至少拥有以下三种公共元素: 1. 它们必须拥有一个构造函数,并且必须被标记为private2. 它们拥有一个保存类的实例的静态成员变[详细]
-
PHP实现的简单对称加密与解密方法实例小结
所属栏目:[PHP教程] 日期:2021-03-10 热度:146
本篇章节讲解PHP实现的简单对称加密与解密方法。分享给大家供大家参考,具体如下: 方法一:YII自带的加密方法 getSecurity()->encryptByPassword($data,$secretKey); get('uid');$secretKey = "wwj";$uid = Yii::$app->getSecurity()->decryptByPassword([详细]
-
yii2中LinkPager增加总页数和总记录数的实例
所属栏目:[PHP教程] 日期:2021-03-10 热度:123
本文介绍了php中LinkPager增加总页数和总记录数,分享给大家,也给自己留个笔记 项目路径 vendoryiisoftyii2widgetsLinkPager.php renderPageButtons方法中增加 $buttons[] = Html::tag('li',Html::tag("span",'共'.$this-pagination-getPageCount().'页[详细]
-
PHP基于递归实现的约瑟夫环算法示例
所属栏目:[PHP教程] 日期:2021-03-10 热度:183
本篇章节讲解PHP基于递归实现的约瑟夫环算法。供大家参考研究具体如下: 约瑟夫环问题: 39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数[详细]
-
php检查函数必传参数是否存在的实例详解
所属栏目:[PHP教程] 日期:2021-03-10 热度:151
php检查函数必传参数是否存在的实例详解 在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何“检查函数必传参数是否存在”呢?为了解决该问题,可以参考以下的示例方法: if ($fields) { $fields = array_fl[详细]
-
PHP使用栈解决约瑟夫环问题算法示例
所属栏目:[PHP教程] 日期:2021-03-10 热度:178
本篇章节讲解PHP使用栈解决约瑟夫环问题算法。供大家参考研究具体如下: 约瑟夫环问题: 39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数[详细]
-
PHP迭代与递归实现无限级分类
所属栏目:[PHP教程] 日期:2021-03-09 热度:82
无限级分类是开发中常见的情况,因此本文对常见的无限极分类算法进行总结归纳. 1.循环迭代实现 ['id[详细]
-
PHP大文件分割上传 PHP分片上传
所属栏目:[PHP教程] 日期:2021-03-09 热度:80
服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关 当然不能简单粗暴的把上面几个值调大,否则服务器内存资源吃光是迟早的问题。 解决思路 好在HTML5开放了新的FILE API,也可以直接操作二进制对象,我们可以直接在浏览器端实现文件切割,按照以前[详细]