
php
文章平均质量分 53
php相关
怎奈你何
这个作者很懒,什么都没留下…
展开
-
Fastadmin ThinkPHP5 宝塔环境 下Redis的使用教程
tp5 redis原创 2022-12-21 17:18:51 · 5706 阅读 · 1 评论 -
PHP面试题
php面试题转载 2022-10-27 17:40:50 · 536 阅读 · 0 评论 -
MVC模式介绍
mvc转载 2022-10-25 17:39:23 · 4447 阅读 · 0 评论 -
PHP中的 抽象类(abstract class)和 接口(interface)
php抽象类和接口类转载 2022-10-24 16:56:29 · 3856 阅读 · 0 评论 -
面向对象(OOP)概念理解,通俗易懂
面向对象转载 2022-10-24 16:49:17 · 722 阅读 · 0 评论 -
workerman和swoole的区别
workerman和swoole的区别转载 2022-10-23 00:09:57 · 2510 阅读 · 0 评论 -
PHP运行模式
php运行模式转载 2022-10-22 23:34:37 · 315 阅读 · 0 评论 -
PHP常用六大设计模式
php设计模式转载 2022-10-22 23:23:27 · 121 阅读 · 0 评论 -
PHP常见算法合集
php算法转载 2022-10-22 17:57:01 · 153 阅读 · 0 评论 -
十大常见web漏洞及防范
常见web漏洞转载 2022-10-22 17:47:26 · 2991 阅读 · 0 评论 -
php如何去掉小数
php去掉小数的方法:1、丢弃小数部分,保留整数部分【intval(7/2)】;2、向上取整,有小数就整数部分加1【ceil(7/2)】;3、四舍五入【round(7/2)】;4、向下取整【floor(7/2)】。php去掉小数的方法:1、丢弃小数部分,保留整数部分php: intval(7/2)js:parseInt(7/2)2、向上取整,有小数就整数部分加1php: ceil(7/2)js: Math.ceil(7/2)3、四舍五入.php: round(7转载 2022-01-19 15:44:47 · 2155 阅读 · 2 评论 -
数据库设计——评论回复功能
1、概述评论功能已经成为APP和网站开发中的必备功能。本文主要介绍评论功能的数据库设计。评论功能最主要的是发表评论和回复评论(删除功能在后台)。评论功能的拓展功能体现有以下几方面:(1)单篇文章的评论数量和信息展示;(2)从时间维度,按照时间倒叙的方式展示动态的用户评论信息;(3)不同栏目,不同模块,不同时间维度的评论排行展示;(4)精华评论的单独推荐和聚合展示;(5)评论后直接分享到绑定的第三方平台;(6)点赞数、回复数等维度的排行等。评论的后台管理:(1)删除;(2)推荐;转载 2022-01-08 15:52:08 · 2549 阅读 · 0 评论 -
ThinkPHP5有关模型hasOne、hasMany、belongsTo详解
hinkPHP5有关联模型的操作,但有部分初学者对数据表中常见的几种表与表的关系还存在着问题,所以使用不好关联查询。这里将hasOne、hasMany、belongsTo进行一个详细举例说明。首先,这3个的大致中文意思:hasOne:有一个,加上主谓语应该是 ,A 有一个 BhasMany:有很多,A 有很多 BbelongsTo:属于, A 属于 B这里我们准备3张表来理解他们的关系:user_group 用户分组表:id、titleuser 用户表:id、user_group_id、us转载 2022-01-08 11:00:55 · 1944 阅读 · 0 评论 -
tp5 cache缓存简单使用
简单的cache存取 **************use think\Cache; Cache::set('chen','112yan',3600); $a=Cache::get('chen'); echo $a;die;使用简单表缓存 //水果秘籍 public function show() { $data = Cache::get('showw');//去缓存 if($data){转载 2022-01-08 10:41:34 · 2549 阅读 · 0 评论 -
tp5 sum某个字段相加得到总数
方法 说明count 统计数量,参数是要统计的字段名(可选)max 获取最大值,参数是要统计的字段名(必须)min 获取最小值,参数是要统计的字段名(必须)avg 获取平均值,参数是要统计的字段名(必须)sum 获取总分,参数是要统计的字段名(必须)用法示例:获取用户数:Db::table(‘think_user’)->count();// 助手函数db(‘user’)->count();或者根据字段统计:Db::table(‘think_user’)->转载 2021-12-25 16:07:17 · 789 阅读 · 0 评论 -
php数组合并 要保持两个数组的键名都不变
php数组合并 要保持两个数组的键名都不变array_merge会使键名发生变化。用 + 号最简单,且不会改变数组的键名$a = array(“a” => “avalue”, “b” => “bvalue”);$b = array(“c” => “cvalue”, “d” => “dvalue”);echo c = c= c=a+$b;原文链接:https://blog.youkuaiyun.com/cqTiew/article/details/87979332...转载 2021-08-22 16:59:07 · 331 阅读 · 0 评论 -
php检测非法字符的一种方法
//php检测非法字符的一种方法$illegal_character="#['!`~\/\\\%^&*()+=\$\#:;<>\]\[{}]#";$tname="123#456";if(preg_match($illegal_character,$tname)){ var_dump('非法字符');die;}else{ var_dump('正常字符');die;}原创 2021-08-22 16:44:41 · 854 阅读 · 0 评论 -
PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装
<?php/** * 精确加法 * @param [type] $a [description] * @param [type] $b [description] */function math_add($a,$b,$scale = '2') { return bcadd($a,$b,$scale);} /** * 精确减法 * @param [type] $a [description] * @param [type] $b [description] */.转载 2021-08-11 15:51:12 · 1469 阅读 · 0 评论 -
array_multisort - 如何保持键值,不重置键值,键名保持不变
一维数组如下: $arrss=array( "10254657"=>"11.25", "10254658"=>"13", "10254659"=>"250.65", "10254660"=>"45.26", "10254661"=>"66", "10254662"=>"4", "10254663"=>"1.26", "10254664"=>"59", "10254665"=>"原创 2021-08-06 17:15:54 · 605 阅读 · 0 评论 -
PHP生成唯一订单号
$order_number = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);简单从内到外解析一下这个订单号生成过程:1、date("Ymd"):这个很容易理解,是在最前方拼接一个当前年月日组成的数字。2、uniqid():此函数获取一个带前缀、基于当前时间微秒数的唯一ID。3、substr(uniqid(), 7, 13):由于uniqid(.转载 2021-07-29 14:12:03 · 3183 阅读 · 1 评论 -
php抽奖概率算法
做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度。同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad、iphone5,小的中个Q币什么的。那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖品。先来看两个概率算法函数。算法一/** * 全概率计算 * * @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4) * @return string转载 2021-07-23 15:01:32 · 755 阅读 · 1 评论 -
php在图片上绘制汉字之imageTtfText()函数
图片处理,是许多程序的功能之一;而文字渲染则是绘图的基本组成部分。PHP通过很多扩展库来支持图片的处理,最常用的还是GD库,通过一系列imagexxx()函数来提供绘图功能。本文专注于非常细小的一点:绘制文字。熟悉Win32的人都知道,TextOut()就可以轻松显示任何文字了,然而到了PHP的世界里,有些事情并不轻松。1 详细解释imageTtfText()函数对于PHP绘图初学者,首先遇到的一个问题就是,imageString()这个函数并不支持汉字的绘制。这往往会给入门者当头一棒,不过不要着急,转载 2021-05-22 17:31:40 · 1047 阅读 · 0 评论 -
thinkphp5将时间戳直接转换成时间格式
$field = *.'FROM_UNIXTIME(u.create_time,"%Y年%m月%d日 %H点%m分%s秒") as create_time'.*;拓展完善:FROM_UNIXTIME(unix_timestamp,format)参数:unix_timestamp:时间戳 可以用数据库里的存储时间数据的字段参数format 要转化的格式 比如“”%Y-%m-%d“” 这样格式化之后的时间就是 2017-11-30使用举例:SELECTusername,F.转载 2021-03-30 16:15:25 · 1788 阅读 · 0 评论 -
php获取当天的日期-年月日与星期几
代码如下:<?php function getNow(){ $data = []; $format='Y.m.d'; for ($i=0; $i<1; $i++){ $strtotime = strtotime( '+' .$i.' days'); $data[$i]['date'] = date($format ,$strtotime); $data[$i]['wee转载 2021-02-04 19:17:46 · 672 阅读 · 0 评论 -
php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字。
php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字。并打印出来代码如下://php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字。 public function jian($a,$i,$n){ $i=$i; $a=$a; static $dat=array(); $dat[$i]=array($a, $a-$n); if($a<=0){ .原创 2021-02-01 12:02:42 · 144 阅读 · 0 评论 -
php和java之间rsa加密互通
以下是php封装好的类,引入即可使用<?php/** * 作者:pjp * 邮箱:vippjp@163.com */class RSA{ private $privateKey='';//私钥(用于用户加密) private $publicKey='';//公钥(用于服务端数据解密) public function __construct(){ $this->privateKey = openssl_pkey_get_private(file_get_content转载 2021-01-30 14:08:59 · 774 阅读 · 1 评论 -
PHP RSA2加密和解密以及接口签名和验签
开发中吗我们经常要与接口打交道,无论是调取别人的接口还是给别人提供接口,如何保障在接口调用时双方数据的安全性和一致性,,这里就涉及到数据加密以及签名验证服务。本文以PHP示例讲解RSA2数据加解密和签名验签功能的实现。我们在上一篇文章《WEB开发中常见的加密方式有哪些》中介绍了非对称加密RSA2算法,它适合加密少量数据,比如支付数据等安全要求高的场景。我们首先要生成公钥和私钥文件:openssl genrsa -out private_key.pem 2048openssl rsa -in转载 2021-01-30 11:52:47 · 1214 阅读 · 0 评论 -
WEB开发中常见的加密方式有哪些
今天,我们对信息安全越来越受重视,WEB开发中的各种加密也变得更加重要。通常跟服务器的交互中,为确保数据传输的安全性,避免被人抓包篡改数据,除了 https 的应用,还需要对传输数据进行加解密。今天我们来了解下有哪些常见的加密方式。单向散列加密单向散列(hash)加密是指把任意长的输入串变化成固定长的输出串,并且由输出串难以得到输入串的加密方法,这种方法称为单项散列加密。广泛应用于对敏感数据加密,比如用户密码,请求参数,文件加密等。我们开发中存储用户密码就用到了单向散列加密算法。常见的单向散列加转载 2021-01-30 11:47:59 · 1267 阅读 · 0 评论 -
php判断字符串长度 strlen()与mb_strlen()函数
PHP strlen() 函数定义和用法strlen() 函数返回字符串的长度。语法strlen(string)参数:string 1 <?php 2 3 $str=‘中文a字1符‘; 4 5 echo strlen($str); 6 7 echo ‘<br />‘; 8 9 echo mb_strlen($str,‘UTF8‘); 10 11 //输出结果 12 13 //14 14 15 //6 16 17 ?.转载 2021-01-18 18:50:13 · 152 阅读 · 0 评论 -
php金额校验函数
在开发过程中,多多少少都会遇到金额值得校验,被测试员撵着屁股走,每次都给我提这个问题,不善其扰。简单正则已经无法做到排除-0,0,0.00,01,0001 等值。因此写一个通用函数来判断是否为正确得金额格式:/** * 金额校验函数 * @param $value * @param bool $isZero * @param bool $negative * @return bool */function isAmount($value, $isZero=fals转载 2021-01-18 18:47:09 · 862 阅读 · 0 评论 -
thinkphp5中的系统文件上传和$_FILES用法区别
thinkphp5中的系统文件上传和$_FILES用法区别 $aa=request()->file('file'); $bb=$aa->getInfo();后面的file是文件的名字$bb等同于$_FILES['file']file是上传的文件名转自:https://www.cnblogs.com/baker95935/p/12703938.html...转载 2020-12-22 18:55:40 · 513 阅读 · 0 评论 -
php如何获取上传文件的后缀?
$temp_arr = explode(".", $file_name); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext);转自:https://blog.youkuaiyun.com/xuyaokun123/article/details/51816309转载 2020-12-22 18:51:07 · 832 阅读 · 0 评论 -
thinkphp5 获取当前的域名
//在头部引入use think\Request;//在需要获取当前域名的地方插入如下代码:$rs = Request::instance();$url= $rs->domain();var_dump($url);die;//url就是当前的域名啦原创 2020-12-22 18:49:26 · 2397 阅读 · 0 评论 -
php获取当天的开始时间和结束时间
//当天的开始时间 $s_time=strtotime(date("Y-m-d",time())); var_dump($s_time);die; 输出的结果是:1607875200 //当天的结束之间 $e_time=$s_time+60*60*24; var_dump($e_time);die; 输出的结果是:1607961600 //转换为年月日格式: $start_time=date("Y-m-d H:i:s",$s_time); $en..原创 2020-12-14 19:22:10 · 1336 阅读 · 0 评论 -
php后台富文本编辑器的内容调用到前端小程序页面的一些显示问题,如: ;
后台富文本编辑器的空格 在小程序端直接以符号显示出来,没有空格的效果如下:方法1(在小程序端解决):将这些 转换成空格。代码如下: //一个转换文本中多个字符串的方法 String.prototype.myReplace=function(f,e){//吧f替换成e var reg=new RegExp(f,"g"); //创建正则RegExp对象 return this.replace原创 2020-12-12 12:16:41 · 918 阅读 · 0 评论 -
PHP根据地址 获取坐标 thinkphp根据地址 获取坐标(百度地图)
/** * @param string $address 详细地址 格式:山东省淄博市张店区颐和大厦A座 * @return array */function get_LatLng($address){ if(!$address)return ''; $result = array(); $ak = '';//您的百度地图ak,可以去百度开发者中心去免费申请 $url = "http://api.map.baidu.com/geocoding/v3/?addres.转载 2020-12-09 11:39:54 · 408 阅读 · 0 评论 -
thinkphp5使用腾讯地图获取指定地址坐标:经纬度
首先去腾讯地图位置服务官网注册:https://lbs.qq.com/注册成功后注册成功后去开发中信息里面:填写相关信息认证成功后就可以去配置key了:创建成功后就获得了key,一串字符SAD45-ASD4-SAD。类似这样的。代码:/** * @param string $address 详细地址 格式:福建省厦门市思明区中山路 * @return array */function get_LonandLat($address){ $addre.原创 2020-12-09 11:35:09 · 718 阅读 · 0 评论 -
宝塔面板搭载ThinkPHP5.0项目关于open_basedir报错解决办法
今天折腾了一下把服务器重装系统,然后安装宝塔面板玩玩,在服务器运营商配置好安全组后,一键搭建LAMP环境还算顺利,确实比较方便。把tp5的项目放上去一运行gg了,上来就报了三个错: 搜了半天怎么解决open_basedir报错,让改php.ini的都是胡扯,应该在网站设置里把‘防跨站攻击’勾选去掉:然后到软件管理——找到所安装的PHP——设置——重启即可:转自:https://blog.youkuaiyun.com/msllws/article/details/82191686或者:...转载 2020-12-03 19:03:20 · 413 阅读 · 0 评论 -
php项目从本地apache移到linux的nginx上,遇到的一些访问权限和报错的问题。
项目问tp5的项目,由于对上传没注意。项目的拥有者是root下面,从而导致了runtime目录下的这几个文件写不进去,file_put_contents()报错等还有存上传文件目录,微信支付日志等目录都无法正常写。不要去给这些权限改为777,虽然这样可以解决问题,但是会有很大的安全隐患。直接将项目文件(以及内部)的所有者更改为www所有。这些问题都解决了。linux命令行如下:chown -R www:www /www/wwwroot/项目文件名或者在ftp工具上面去原创 2020-12-03 18:59:21 · 220 阅读 · 0 评论 -
php 过滤特殊字符和sql防注入代码以及xss攻击等
//过滤方法 function filterWords(&$str){ $farr = array( "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", "/select\b|insert\b|update\b|delete\b|...转载 2020-10-30 11:54:57 · 497 阅读 · 0 评论