PHP
文章平均质量分 81
暂时先用这个名字
编程是工作与兴趣
展开
-
不同AI分析错误代码的差异:谁更胜一筹?谁才是最强者?结果出乎意料!
先祝大家新春快乐,我已经提前三天上班了~~为了年后新框架能上线运行,这几天没人打扰,能安静地冲一下代码,嘎嘎嘎。现在是一目了然错在哪里,但开发的时候因为脑子绕在前一个错误的里面没出来,所以一直没看出来错哪里了。。。于是去问AI,顺便比较一下各自的不同。原创 2024-02-16 22:36:47 · 1722 阅读 · 0 评论 -
PHP开发日志 ━━ 深入理解三元操作与一般条件语句的不同
函数声明返回引用,每个返回节点都必须返回真正的变量引用第一种用if分支,每个分支都返回引用第二种三元操作符整体返回一个值,就算内容是引用也不算所以正确应该是第一种if分支写法,而不是使用三元操作符。NULL本身不是一个变量,所以严格来说返回NULL也不算返回变量引用。但是NULL作为一个特殊值,它可以作为非引用值正常返回,不会报错。原创 2024-02-14 19:34:36 · 789 阅读 · 0 评论 -
PHP开发日志 ━━ php8.3安装与使用组件Xdebug
Xdebug是PHP的扩展,并且提供了一系列功能来改善 PHP 开发体验。本文介绍了安装与使用的方法原创 2024-01-10 14:40:39 · 2071 阅读 · 0 评论 -
PHP开发日志 ━━ 不同方法判断某个数组中是否存在指定的键名,测试哪种方法效率高
我们可以用`isset($arr['a'])` 或者 `array_key_exists('a', $arr)` 来判断`'a'`键名是否存在与`$arr`数组。那么这两种方式哪个运行速度快呢?原创 2024-01-10 00:48:59 · 630 阅读 · 0 评论 -
windows下全免费手动搭建php8+mysql8开发环境及可视化工具安装
最近PHP项目少了,一直在研究UE5和Golang,但是考虑到政府、国企未来几年国产化的要求,可能又要重拾PHP。于是近日把用了N年的框架重新更新至适合PHP8.2以上的版本,同时也乘着新装机,再次搭建php和mysql开发环境。本文留个记录,以后方便操作。原创 2024-01-09 21:52:43 · 1093 阅读 · 0 评论 -
PHP开发日志 ━━ 记录PHP8.2、Mysql8.0之后主要升级的代码部分(实现动态属性/对象引用防止重载属性警告/数据库groupby后的数据调用/datetime字段不为空)内容不断添加中~~
原本直接写这里的属性正规写,就必须要同样,实例化后原本直接写即可但现在升级为8.0以后还这样写,就会出现警告提示,而且未来该写法将被放弃。那么我们就要利用魔术方法将所谓的动态属性写给一个数组来解决这个问题。2. 对象引用和重载错误重载指多个名字相同,但参数不同的函数在同一作用域并存的现象。因为PHP早期以灵活著称,所以传统意义上的重载将可能导致不同函数的覆盖从而出错。解决办法很简单:那就是去掉即可~~哈哈,就是这么简单。原代码:现改为:《PHP对象赋值给变量的两种方式的区别,一般赋值和引用赋值原创 2024-01-09 17:36:08 · 1043 阅读 · 0 评论 -
PHP开发日志 ━━ 基于PHP和JS的AES相互加密解密方法详解(CryptoJS) 适合CryptoJS4.0和PHP8.0
最近客户在做安全等保,需要后台登录密码采用加密方式,原来用个base64变形一下就算了,现在不行,一定要加密加key加盐~~前端使用Cypto-JS加密,传输给后端使用PHP解密,当然,前端虽然有key有盐,但这玩意儿用点心的话,也不过是障眼法而已。原创 2023-12-29 11:12:00 · 2026 阅读 · 0 评论 -
PHP开发日志——循环和条件语句嵌套不同,效率不同(循环内加入条件语句,条件语句判断后加入循环,array_map函数中加入条件语句)
十多年前开发框架时,为了效率不断试过各种代码写法,今天又遇到了,想想php8时代会不会有所变化,结果其实也还是和当年一样,但当年没写博客,但现在可以把数据记录下来了。项目基本情况是一个考试系统调用题库后,根据是否需要随机出选项和是否需要统一改分数这两个条件,循环对每一道题的初始数据进行修改。我是从类的方法里直接截取的代码片段,所以代码部分只需懂意思即可,命名都很容易理解。$result$score3328题8.1.3。原创 2023-12-21 01:01:39 · 171 阅读 · 0 评论 -
php用一个单页读取数据库中带有超链接的内容并提供人工清理链接的功能(超链接部分可替换为任何查询条件)/ 代码拿去用
利用php做一个单页,直接查询mysql数据库中带有超链接的内容,并在页面上让客户判断该内容中的超链接是否需要后手动进行批量清理,超链接直接从数据库查询出来,因此可以改为任何查询条件~~原创 2023-05-04 10:49:46 · 632 阅读 · 0 评论 -
Windows IIS PHP安装redis以及安装redis扩展和tp5使用
精简模式:redis-cli.exe指定模式:redis-cli.exe -h 127.0.0.1 -p 6379 -a requirepass(-h服务器地址-p指定端口号-a连接数据库的密码[可以在redis.windows.conf中配置],默认无密码)如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。Redis-x64-3.2.100.zip是需要解压安装的,接下来讨论的是这种。转载 2022-11-26 00:50:02 · 510 阅读 · 0 评论 -
问题杂编 ━━ windows2016安装php8.1、php8.2及mysql8出现的问题汇总(简直就是*#*o#)
本以为按照正常程序走就完了,结果遇到各种各样的问题,最终只能妥协用低版本成交。这里把所有问题的出现和解决整理出来,避免下次再遇到类似问题。原创 2022-08-24 20:51:06 · 1260 阅读 · 0 评论 -
【私人系列】日常PHP遇到的各种稀奇古怪的问题
在日常维护或开发时,遇到的各种php问题,总结一下,相信自己下次还会遇到~~~~原创 2022-07-30 18:46:57 · 721 阅读 · 1 评论 -
微信开发 ━━ 微信商户v3微信支付查询之php篇
官方指南:《查询订单API》//根据微信订单号查询https://api.mch.weixin.qq.com/v3/pay/transactions/id/1217752501201407033233368018?mchid=1230000109//根据商户订单号查询https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/1217752501201407033233368018?mchid=1230000109总体比较简单,就原创 2022-05-22 11:09:39 · 3375 阅读 · 3 评论 -
微信开发 ━━ 微信商户v3微信支付回调之php篇
开发内容都在这里:微信支付API v3证书和回调报文解密在微信支付时提供一个回调地址,支付完成后微信会向这个回调地址发送一个json格式的报文,将报文内容解密后获取订单号等数据报文内容:{ "original_type": "transaction", // 加密前的对象类型 "algorithm":"AEAD_AES_256_GCM", // 加密算法 // Base64编码后的密文 "ciphertext": "...", // 加密使用的随机串初始化向量) "nonce原创 2022-05-18 01:03:52 · 3603 阅读 · 0 评论 -
微信开发 ━━ 微信商户v3微信小程序支付方式开发之php篇
最近开发了小程序版的微信支付,遇到的情况与之前h5略有不同,主要就是多了一步:通过wx.login()获得code,再由code获取openid,流程中涉及的签名方式也略有不同。之前写过二期native和h5的开发,本篇开门见山直接按照流程来写一写小程序支付的开发。参考前两篇:微信开发 ━━ 微信商户v3微信支付H5方式开发之php篇微信开发 ━━ 微信商户v3微信支付Navive方式开发之php篇一、获取code(前端)小程序支付所用openid只能在服务端利用前端提供的code向微信索取.原创 2022-05-16 16:31:27 · 2311 阅读 · 0 评论 -
服务器配置篇 ━━ IIS7使用https上传发生413错误,响应提示:未显示页面,因为请求实体过大
客户网站用了windows自建的ssl搭建,开始没问题,某天之后本地127.0.0.1上传正常,但外网上传仅限几十K的文件,超出则提示:错误:413;响应:“未显示页面,因为请求实体过大。”一度以为是防火墙的问题,排查未果。今天终于解决问题,整理如下:一、原理官方说明:Client cannot renegotiate request and returns an HTTP 413 error如果 Web 服务器、网站或站点的单个目录或文件上启用了客户端证书,则客户端在上载较大的文件时.原创 2021-09-23 18:13:39 · 2789 阅读 · 0 评论 -
PHP开发日志 ━━ PHP8.0操作MongoDB入门(CRUD)
想要在 PHP 中使用 MongoDB,您需要为 PHP 安装 MongoDB 的驱动,您可以从 PHP 官网(https://pecl.php.net/package/mongodb)下载最新版的 MongoDB 驱动。下载成功后解压得到的压缩包,并将其中的 php_mongo.dll 文件移动到您的 PHP 扩展目录中(默认为“ext”),然后在您的 PHP 配置文件(php.ini)文件中添加如下内容:extension = php_mongo.dll注意:如果您使用的是 phpstudy 之原创 2021-11-18 20:37:17 · 1381 阅读 · 0 评论 -
安全篇 ━━ JWT的用途和安全探讨,编码解码=\=加密解密
什么是JWT?JSON WEB TOKEN,json格式的网络令牌,所以JWT只是一种token形式,可用来解决传统session的一些弊端。它本身和数据安全没有关系原创 2021-11-16 01:19:23 · 3682 阅读 · 0 评论 -
PHP开发日志 ━━ php、javascript生成二维码的三种方法
最简单最实例的goolge开源方法推荐手册:php完全自学手册1.google开放api代码如下:$urlToEncode="http://www.helloweba.com";generateQRfromGoogle($urlToEncode);/** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 不能混合数转载 2021-06-12 00:53:57 · 425 阅读 · 0 评论 -
微信开发 ━━ 微信商户v3微信支付H5方式开发之php篇
一、流程流程是必须要弄懂的,弄懂之后遇到问题也能知道出在哪里。官方说明:《H5支付统一下单API官方说明》这是native方式开发纪要:《微信开发 ━━ 微信商户native方式支付v3开发之php篇》这是官方的流程图,但说真的,开始看的我头疼,只有等实现过一次后再回头详看才会比较有用。此处介绍h5支付方式。注册商户、申请api证书等前期工作这里不再赘述。注意H5方式只能在手机浏览器里正常实现,不能在微信自带浏览器或PC里操作。1. 准备好“订单号”、“金额”等数据好好看看上面那篇官方原创 2021-05-21 20:56:32 · 2967 阅读 · 7 评论 -
微信开发 ━━ 微信商户v3微信支付Navive方式开发之php篇
一、流程流程是必须要弄懂的,弄懂之后遇到问题也能知道出在哪里。官方说明:《Native支付统一下单API官方说明》这是官方的流程图,但说真的,,开始看的我头疼,只有等你实现过一次后再回头详看才会比较有用。此处介绍native支付方式。注册商户、申请api证书等这里不再赘述。1. 准备好“订单号”、“金额”等数据好好看看上面那篇官方说明里的“请求参数”列表,其中out_trade_no、amount [total]、appid、mchid等等是必要参数。2. 根据要求生成“签名”,需要利用ap原创 2021-05-19 01:21:08 · 1946 阅读 · 7 评论 -
PLUPLOAD插件 ━━ 上传总结(分片上传,php后端处理)
plupload插件官方地址:plupload官方网站参数,方法,设置说明文档地址:配置文档前端使用方法:<!-- 引入plupload文件 --><!-- moxie用来生成图片缩略图 --><script src="./plupload/js/moxie.js"></script><script src="./plupload/js/plupload.full.min.js"></script><script转载 2021-04-06 23:41:10 · 1429 阅读 · 0 评论 -
PHP开发日志 ━━ PHP格式化显示时间date()函数代码
PHP Date/Time 简介Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time 函数通过不同的方式来格式化日期和时间。注释:这些函数依赖于服务器的本地设置。使用这些函数时请记住要考虑夏令时和闰年。安装PHP Date/Time 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。Runtime 配置Date/Time 函数的行为受到 php.ini 中设置的影响:名称描述默认PHP 版本date.time转载 2021-03-25 17:00:48 · 467 阅读 · 0 评论 -
PHP开发日志 ━━ jsrsasign、jsencrypt、php实现前后端数据的RSA加密和解密
按照等保要求,密码类的信息必须RSA加密后才能传递:需要对密码传输过程中进行加密方式传输。如采用md5加验或SM1、SM2、SM4、3DES、AES、RSA加密算法,同时也不要直接采用暴露在互联网上的md5、base64算法、URL编码转换。之前仅仅用base64来操作已是明文禁止了。思路还是一样的:“客户端使用js加密,服务端使用php解密”。比较两个客户端js插件:jsencrypt.js 和 jsrsasign 都可以实现加密解密,但 jsencrypt.js 更方便, jsrsa原创 2021-01-05 23:50:21 · 4998 阅读 · 4 评论 -
PHP开发日志 ━━ IIS7安装PHP8.0及多个版本如何同时存在一台服务器
一、准备工作1、安装运行库php8和php5、php6、php7都需要安装对应版本的 Microsoft Visual C++运行库,下载页面左侧说明里有运行库下载路径:VC15 & VS16More recent versions of PHP are built with VC15 or VS16 (Visual Studio 2017 or 2019 compiler respectively) and include improvements in performance and原创 2020-12-27 21:07:50 · 3461 阅读 · 2 评论 -
PHP开发日志 ━━ MYSQL数据库使用UTF-8中文编码乱码的解决办法
今天将公司服务器上的php换成了8.0版,框架里竟然有关解决乱码的一行代码出错了,研究了半天发现是一个隐含了十年的bug…只因以前从不提示错误或警告。顺带一句,以前写函数已经特别注意了要有初始化值,比如 function xxx(a=''){} ,现在换成php8.0后,如果没有初始化值会提示 PHP Deprecated 错误。// 以前代码:set character set "utf8" collate "utf8_general_ci"//现在改为:set character set原创 2020-12-26 22:18:48 · 211 阅读 · 1 评论 -
PHP开发日志 ━━ PHP验证码程序:session生成图片
原网址在这里:http://www.piaoyi.org/php/php-session-code.html昨天网上发现的这位博主,竟然写了十多年技术博客了。推荐一下。转载一篇日记,同时把图片验证打包上传待需要时使用~~昨天捣鼓了一下PHP验证码并生成图片程序,采用了session识别,稍微改进了一下目前网络上流传的PHP验证码,加入杂点,数字颜色随机显示,控制4位数字显示;话不多说了,程序如下,分享出来。效果图如下:PHP验证码程序:session生成图片新建yz.php验证码生成文件:转载 2020-12-14 13:06:52 · 257 阅读 · 0 评论 -
PHP开发日志 ━━ js、php实现前后端数据的base64编码和解码
客户提出要求密码需要加密后传送,为了绕开软件的安全评测,我们采用了三聚氰胺绕蛋白质含量大法:客户端用jQuery_encode(),服务端php_decode()~~由于原页面并未采用ajax,因此采用的思路是:客户端利用jQuery获取密码输入控件的值,并使用js_encode()进行加密,并将加密后的值存入一个隐藏控件,该隐藏控件的name与原密码控件的name一致。服务端接受后利用php自带的base64_decode()解密。这样的话,代码改动是最小的。好了,上代码。javascri原创 2020-11-12 21:23:11 · 435 阅读 · 0 评论 -
PHP开发日志 ━━ zip压缩
使用php自带的压缩组件,非常方便,网上找到一个压缩全目录的类,有一些小错误,这里直接拉过来用了,加了一个自定义方法,修正了bug。/** * 压缩文件类库 (zip.php : sl_zip) * * 压缩文件有关的功能 * * @category System * @package System * @subpackage Library * @auth...转载 2019-10-23 00:21:41 · 235 阅读 · 0 评论 -
PHP开发日志 ━━ 与上传相关的资料整理~突破2M限制
今天整理一下PHP中与上传相关的配置,尤其是解决默认上传限制的问题:PHP配置在php目录中找到php.ini,用编辑器打开,与上传大小相关的参数post_max_size 提交数据最大值设置允许的提交数据的最大大小,此设置会影响文件上传。 要上传大文件,此值必须大于upload_max_filesize。 一般而言,memory_limit应该大于post_max_size。 如果...原创 2019-10-20 21:25:13 · 253 阅读 · 0 评论 -
PHP开发日志 ━━ PhpSpreadsheet使用
一、下载最新版https://github.com/PHPOffice/PhpSpreadsheet此处为最新版本,也可以了解一下PHPOffice的其它产品。二、完整安装安装composer.exe使用phpspreadsheet,在各种例子中都会调用vendor/autoload.php,而该文件及目录需要通过composer生成,如果是windows系统,先到 https://g...原创 2019-10-06 10:51:32 · 443 阅读 · 0 评论 -
安全篇 ━━ 整改php和IIS(根据安全等级保护评估、渗透测试报告)
1、 目标URL存在http host头攻击漏洞在代码部分注释_SERVER[“HTTP_HOST”]方法,仅留_SERVER["SERVER_NAME”]2、 会话cookie中缺少HttpOnly属性在代码部分开启HttpOnly在服务器开启httpOnlyCookies为True3、 目标X-Content-Type-Options响应头缺失在代码部分设置X-Content-Type-Options为nosniff在IIS设置X-Content-Type-Options为nosn原创 2020-10-16 13:10:19 · 7328 阅读 · 0 评论 -
服务器配置篇 ━━ iis7配置php出现fastcgi的500错误,LocalSystem/LocalService/NetworkService/ApplicationPoolIdentity
最近在IIS7上配置PHP,但总是提示500错误,以往是因为.net framework版本弄错,但这次不是原创 2020-04-23 16:33:48 · 2134 阅读 · 0 评论