技术饭 thinkphp5将json对象转数组

thinkphp5将json对象转数组,tp5获取得到的数据是json格式,但是无法通过数据的方式直接获取,以前是有默认转换,现在只能通过 getContent() 方法来获取内部的数据了。

阅读全文 » 12天前
2021年04月02日

技术饭 php7.2微信公众平台消息安全模式的加密及解密

php7.2微信公众平台消息安全模式的加密及解密,php7.2发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利。但是从php7.0 升级到 php7.2 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展)。官方提供了相应的解决提示,却没有提供更详细的解决办法。于是就各种报错,当然了只能改方法了~~~

阅读全文 » 109天前
2020年12月26日

技术饭 php 7.2 安装 mcrypt 扩展

centos版本升级到8,PHP的黄金升级 php 7.2 后,使用微信提供的加解密代码时,提示 call to undefined function mcrypt_module_open(),mcrypt_module_open()方法不存在,应该是PHP升级之后可能扩展被废弃了吧,查阅相关资料知晓,mcrypt 扩展从 php 7.1.0 开始废弃;自 php 7.2.0 起,会移到 pecl。

阅读全文 » 113天前
2020年12月22日

技术饭 mysql中json_contains、json_extract等json查询方法的使用

mysql中json_contains、json_extract等json查询方法的使用,新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作。JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,并且会减少网络带宽的传输。JSON的格式非常简单:名称/键值。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。

阅读全文 » 118天前
2020年12月17日

技术饭 PHP查询用户排名名次、Mysql查询用户排名名次的方法

PHP查询用户排名名次、Mysql查询用户排名名次的方法,最近做了用户排行榜,那么就整理了查询用户排行的一些代码,主要分为两部分:PHP、Mysql两者独立查询用户排名信息,当然查询的是所有用户的排名以及当前用户的排名信息。

阅读全文 » 130天前
2020年12月05日

技术饭 前端js加密后台php解密,自定义加密方法

前端js加密后台php解密,自定义加密方法,前端html输入用户名密码之后,使用http传到后台,post的内容全部是明文,用户名和密码通过抓包工具可以很容易获取到,所以需要在http传输之前对密码进行加密处理,php收到post内容之后进行解密,然后进行后续认证处理。

阅读全文 » 131天前
2020年12月04日

技术饭 PHP简单对称加密算法之加密、简单对称加密算法之解密,以及简单的混淆加密。

PHP简单对称加密算法之加密、简单对称加密算法之解密,以及简单的混淆加密。平时我们使用的PHP加密方法都是一些不可逆的加密函数为:md5()、sha1()、crypt()等。md5() 用来计算 MD5 哈稀。语法为:md5(); crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,无法解密。可逆转的加密有:base64_encode()、urlencode() 相对应的解密函数:base64_decode() 、urldecode() 。base64_encode() 将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。 它的解密函数为:base64_decode(); 将复回原样。urlencode() 将字符串以 URL 编码。例如空格就会变成加号。它的解密函数为:urldecode(); 将复回原样。

阅读全文 » 135天前
2020年11月30日

技术饭 PHP二维数组去除重复项

PHP的一维数组正常使用array_unique()方法直接去除重复项即可,但是二维数据似乎没有固定的内置函数,这时候就需要自己手动些方法处理了,那如果去除二维数组的重复项呢?研究了一会,大概写了简略版本的去重方案。

阅读全文 » 147天前
2020年11月18日

技术饭 解决Unable to find the wrapper "https"的二种方法

​这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。

阅读全文 » 152天前
2020年11月13日

技术饭 PHP短网址生成逻辑与实现

​微博短网址大家一定不陌生,如:http://t.cn/ 这个网站点开就直接跳转到了微博,是不是看起来很方便,但应该很多人都不知道是怎么实现的,我们今天就来讲讲PHP生成短网址的方法。PHP生成短网址的:如果把短网址还原了,你知道是个什么样子的吗?可能你看到的短网址都是这个样子:http://p-d-d.cn/T0f121,其实他还原了说不定就是这个样子:https://www.copylian.com/,按这个格式可以知道这个短网址其实是通过代码将长的网址:https://www.copylian.com/ 转成 http://p-d-d.cn/T0f121 ,然后短网址做个重定向到长网址就好了。

阅读全文 » 159天前
2020年11月06日

技术饭 TP5使用unlink删除文件报错:Resource temporarily unavailable

TP5使用unlink删除文件报错:Resource temporarily unavailable,今天在TP5内使用unlink删除上传图片的时候报错了。情况是 $info = $file->move();获得 $info 变量后 $info->getRealPath() 通过该方法获取上传文件真实路径,然后直接unlink时报错 Resource temporarily unavailable

阅读全文 » 168天前
2020年10月28日

技术饭 php判断当前是http还是https

php判断当前是http还是https,使用 $_SERVER['HTTPS'] 的值来判断,或者通过 $_SERVER['SERVER_PORT'] 的端口号443来判断是否是https,如果is_ssl()方法返回true则是https,如果返回false则是http。

阅读全文 » 186天前
2020年10月10日

技术饭 /var/mail/root 定时任务crontab生成日志文件太大的处理方案,You have new mail in /var/spool/mail/root

之前讲过聊过 file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足这个问题,解决方法是删除 /var/mail/ 下的root日志日志文件,可是过不了多久又满了,所以只能从源头去禁止生成定时任务生成的日志才能彻底的解决问题。有时候处理的时候还会出现:You have new mail in /var/spool/mail/root的报错。

阅读全文 » 187天前
2020年10月09日

技术饭 微信小程序扫一扫的功能实现

微信小程序扫一扫的功能实现,这个功能比较简单,直接看微信小程序文档就好了,只要执行wx.scanCode方法就好了,其他的不再赘述。

阅读全文 » 384天前
2020年03月26日

技术饭 PHP ZipArchive 类库压缩、解压Zip文件

PHP ZipArchive 类库压缩、解压Zip文件,PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法请自行百度。

阅读全文 » 390天前
2020年03月20日

技术饭 thinkphp5.1控制器中的初始化方法initialize()不能return出数据

本来是要做登录验证与权限验证,正常是想在每个控制器的头部初始化方法initialize()直接return出数据,但是试了很多遍thinkphp5.1控制器中的初始化方法initialize()不能return出数据,翻了文档确实也是说不能输出,建议使用中间件的方式返回数据即可。

阅读全文 » 399天前
2020年03月11日

技术饭 AikehouA 5.2.0版本,最新版安装出现 HTTP ERROR 500 错误解决方案

今天在使用最新版AikehouA 5.2.0版本时,出现 HTTP ERROR 500 错误,调试了许久,查了nginx的错误日志等,断调试代码,一直没有找到确切的原因,后来在本地php7.0环境、自己服务器php7.0环境测试,安装没有任何问题,故此判断是因为最新版本composer加载了必须支持php7.0的插件,php5.6.x的环境不支持php7.0的一些方法,所以这里就需要删除一些composer包,更新vendor目录即可解决问题。

阅读全文 » 404天前
2020年03月06日

技术饭 nginx目录路径重定向的方法,同一域名映射到其他目录

如果希望域名后边跟随的路径指向本地磁盘的其他目录,而不是默认的web目录时,需要设置nginx目录访问重定向。应用场景:abc.com域名解析在 /root/www/abc 目录,这时候希望 abc.com/admin 自动跳转到目录 /root/www/abcadmin。nginx目录路径重定向的四种实现方式:修改root映射、通过Nginx rewrite内部跳转、设置别名alias映射实现、通过nginx的permanent 301绝对跳转实现。

阅读全文 » 404天前
2020年03月06日

技术饭 TP5.1报错:Indirect modification of overloaded element of app\common\model\WechatExtension has no effect

TP5.1报错:Indirect modification of overloaded element of app\common\model\WechatExtension has no effect,通过追踪得到的信息是调用 sortArrByField() 方法的时候报错了,检测发现排序只能是数据,而对象集合是不支持的,所以做法是先数据是否为对象,如果是对象则转成数组,然后在进行操作就没有问题了。

阅读全文 » 413天前
2020年02月26日

技术饭 PHP生成随机英文用户名

最近用wordpress来做英文的博客,需要虚构一些随机的英文用户名来冒充访客发表评论,因为对PHP不熟悉(压根没学过),只能在百度和google查找方法。办法有2个:1、随机字母数字组合法;2、字典随机组合法

阅读全文 » 414天前
2020年02月25日

生活札记 三大运营商可查询个人轨迹,30 天内去过哪里都知道

今天有微博大 V 用户发现了三大运营商推出的【个人轨迹证明方法】,可以给电信服务商发短信,得到你的手机最近一个月的轨迹,用来辅助证明你最近一个月是否离开城市或者由异地返回。IT 之家亲测中国联通可用,另外中国移动和中国电信请用户们测试。

阅读全文 » 425天前
2020年02月14日

技术饭 Linux crontab 实现秒级定时任务

Linux crontab 实现秒级定时任务,1、crontab 的延时: 原理:通过延时方法 sleep N 来实现每N秒执行。60必须能整除间隔的秒数(没有余数),例如间隔的秒数是2,4,6,10,12等。如果间隔的秒数太少,例如2秒执行一次,这样就需要在crontab 加入60/2=30条语句。

阅读全文 » 601天前
2019年08月22日

技术饭 json字符串格式化展示

json字符串格式化展示,解决方案:JSON.stringify()方法:就json对象转成json字符串,5:表示有5个空格缩进最多10个,但是发现打印的所有字符串还是连在一起,是因为html忽略了空格或者tab,使用<pre></pre>标签就好了。

阅读全文 » 683天前
2019年06月01日

技术饭 exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题

exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题,手机图片上传之后出现了反向问题,操作系统里的文件属性功能可能已经把图片给修正过了,那这时候就要把图片给旋转回来就需要用到php的exif_read_data方法。

阅读全文 » 688天前
2019年05月27日

技术饭 这可能是由于CredSSP加密Oracle修正 解决方法

升级至win10 最新版本10.0.17134,远程桌面连接Window Server时报错信息如下:出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正。

阅读全文 » 785天前
2019年02月19日

技术饭 linux 下 apache启动、停止、重启命令

linux 下 apache启动、停止、重启命令,基本的操作方法:本文假设你的apahce安装目录为/usr/local/apache24,这些方法适合任何情况,apahce启动命令:推荐/usr/local/apache24/bin/apachectl start apaceh启动;apache停止命令 /usr/local/apache24/bin/apachectl stop 停止,apache重新启动命令:/usr/local/apache2/bin/apachectl restart 重启

阅读全文 » 840天前
2018年12月26日

技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法

thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了

阅读全文 » 841天前
2018年12月25日

技术饭 ajax 设置Access-Control-Allow-Origin实现跨域访问

ajax 设置Access-Control-Allow-Origin实现跨域访问,ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。

阅读全文 » 848天前
2018年12月18日

技术饭 php使用explode拆分含多个分隔符的字符串,分隔字

php使用explode拆分含多个分隔符的字符串,分隔字,利用str_replace()方法先把特殊字符先替换成某一个特殊字符,然后再进行分割,或者使用preg_split()也是可以的。

阅读全文 » 880天前
2018年11月17日

技术饭 tp5中url使用js变量传参方法

tp5中url方法使用的都是{}这个字符来解析,layui使用的是{{}}来解析,这就造成了无法把js变量传参到tp5的url()方法中,那只能去做替换,或者改成?好的形式了。

阅读全文 » 880天前
2018年11月17日

技术饭 Jquery取得iframe中元素的几种方法

Jquery取得iframe中元素的几种方法,最近在重新爱客猴内容管理系统后台,遇到需求就是需要刷新子iframe,网上资料找了半天终于找到了解决方案,整理发出!!!

阅读全文 » 884天前
2018年11月12日

技术饭 curl文件上传至远程图片服务器

在这里我们利用curl实现把本地服务器的文件通过curl发送请求给远程服务器的php文件接受就实现了上传,还一个是利用ftp来上传方法也是php中的curl操作ftp服务器进行上传。

阅读全文 » 920天前
2018年10月07日

技术饭 Mysql中的存储过程

简单的说Mysql中的存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用。

阅读全文 » 923天前
2018年10月04日

技术饭 PHP-中文转换成拼音

encode方法中传进两个参数,$utf8Data, $sRetFormat,第一个参数为传入的中文,字符编码为utf-8,如果不是这个编码要转换成utf-8,第二个参数head:首字母|all:全拼音,返回值为转换后的拼音

阅读全文 » 932天前
2018年09月25日

技术饭 mysql 替换某个字段中的某个字符

mysql 替换某个字段中的某个字符,需求:修改字段中的 /uploads/2018/ 为 /uploads/2018/09/ ,解决方法:使用sql的 replace() 方法:update 表名 set 字段名 = REPLACE (字段名, '原来的值', '要修改的值');

阅读全文 » 938天前
2018年09月19日

技术饭 Linux系统中文乱码解决方法

Linux系统中文乱码解决方法

阅读全文 » 942天前
2018年09月15日

技术饭 Laravel框架重要知识整理

Laravel框架重要知识整理,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

阅读全文 » 1101天前
2018年04月09日

技术饭 Laravel框架基础入门,Composer的基础使用

Laravel框架基础入门,Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

阅读全文 » 1107天前
2018年04月03日

技术饭 nginx下运行php的程序时返回200访问却是空白页问题的解决方法

这几天一直在研究小程序,开发的差不多的时候吧环境从php5切换到了php7之后发现了很多的问题,比如传入参数没有默认值等造成的问题,但另一个棘手的问题就是:nginx下运行php的程序时返回200访问却是空白页,接口请求成功但是却一直无法返回数据,经过不断反复测试,代码断点测试,最后才发现了问题所在。

阅读全文 » 1136天前
2018年03月05日

技术饭 解决 PHPExcel 长数字串显示为科学计数

在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号。使用PHPExcel来生成excel,也会遇到同样的问题,解决方法有三种:1、设置单元格为文本,2、在设置值的时候显示的指定数据类型,3、在数字字符串前加一个空格使之成为字符串。

阅读全文 » 1220天前
2017年12月11日