技术饭 mysql替换(replace)字符串字段的某些字符串、正则替换

mysql替换(replace)字符串字段的某些字符串、正则替换,由于图片字段上传到腾讯云cos之后,缩略图带了裁剪参数,存入数据库之后,参数也被存在了数据库中,导致图片的显示不全,现在需要把图片处理参数删除,也就是图片url问号后面的参数一并删除;刚开始想法是直接用mysql里面的regexp_replace函数对敏感字段进行处理。后来发现mysql8.0才支持regexp_replace()。mysql5.7里只有正则匹配的函数。最后还是用mysql本身提供的函数进行处理。

阅读全文 » 783天前
2022年03月03日

技术饭 layer.prompt输入框改成laydate时间控件

layer.prompt输入框改成laydate时间控件,layui官方文档的解释:prompt的参数也是向前补齐的。options不仅可支持传入基础参数,还可以传入prompt专用的属性。当然,也可以不传。yes携带value 表单值index 索引elem 表单元素,输入框类型,支持0(文本)默认1(密码)2(多行文本),没有直接输入dom内容的方式。但是网上找到一个是formType:3的类型,测试可以。

阅读全文 » 949天前
2021年09月18日

技术饭 JAVA原生的类实现SHA256加密签名,转换成PHP版本加密

JAVA原生的类实现SHA256加密签名,转换成PHP版本加密签名,注意点主要在sort字典排序的时候需要设置方式为 SORT_STRING,如果sha 256加密函数的第三个参数设置为true时,这时候返回的是二进制数据,默认是false返回的则是进制的字符串。

阅读全文 » 1066天前
2021年05月24日

技术饭 POST参数超过1000后,$_POST中1000以后的参数丢失,但是php5.6 max_input_vars 修改无反应?

之前做了图片文件上传到阿里云oss存储中,阿里本身的传输没有问题,但是在当保存到自己数据库的时候就报错了,第一次报错是id不存在,本来数据表就是一条记录,更新的主键ID竟然不存在,查了下js传过过来的formdata参数正常,但是$_POST就只仅仅取到了一部分数据,剩余的数据丢失了,想想应该是php限制的问题,最终确定是参数: max_input_vars 默认限制了1000,本来是改成了5000,但是测了还是没效果,查了phpinfo()发现:php-fpm重启之后 max_input_vars 的值并没有改变,多方查证发现服务器的php配置原来是外包公司配置的,外包公司把配置文件改到了 php-fpm.conf 文件里面,所以原始的php.ini中的参数就失效了,无论设置成什么都会失效。

阅读全文 » 1318天前
2020年09月14日

技术饭 php使用array_slice()函数进行数组分页

今天用到一个函数,非常好用,分享给大家,array_slice() -从数组中取出一段也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组,我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求,array_slice(原数组,开始下标,要取几条),这里用到三个参数(如果不写第三个参数 返回直到数组末端的所有元素)

阅读全文 » 1472天前
2020年04月13日

技术饭 使用postman传数组数据

postman是一款强大的本地接口调试工具,我们可以通过它清晰的看到我们数据请求携带的参数和具体数据返回结果,便于我们分析解决问题。在我们做api接口数据调试的时候,大部分是会用到postman的,一般请求数据的参数都是字符串,但是特殊情况下我们是需要传一个数组数据的,那么为了实现这种需求,究竟该怎么做呢?

阅读全文 » 1504天前
2020年03月12日

技术饭 postman接口工具设置headers头部的参数不能加下划线

今天做登录接口测试,正常逻辑是登录之后返回一个token给前端,以后前端都是拿着这个token来获取信息数据,正要测试时发现postman接口工具设置headers头部的参数不能加下划线,使用:sponsor_token 参数一直获取不到数据,纳闷了大半天,后来修改成:sponsortoken 就解决问题了。

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

技术饭 Warning: ZipArchive::addFile(): Invalid or uninitialized Zip object

ZipArchive::open()参数2为ZipArchive::OVERWRITE的时候,当目标文件已经存在时,程序会生成一个新的同名文件覆盖原来的文件,但是,当这个文件不存在时,ZipArchive::open()将返回数字9,是常量ZipArchive::ER_NOENT的整数值,错误信息是“No such file.”。

阅读全文 » 1978天前
2018年11月25日

技术饭 MySQL特殊一些函数

MySQL特殊一些函数,EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等,CONCAT_WS() 是CONCAT()的特殊形式,第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间,GROUP_CONCAT([DISTINCT] 要连接的字段,[Order BY ASC/DESC 排序字段] [Separator '分隔符']),REPEAT()函数,用来复制字符串,LOCATE()函数表示某个字符出现的位置。

阅读全文 » 2030天前
2018年10月03日

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

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

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

技术饭 Nginx Linux详细安装部署教程

Nginx Linux详细安装部署教程,nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。

阅读全文 » 2049天前
2018年09月14日

技术饭 wnmp下thinkphp5下解决不支持pathinfo模式解决方案

wnmp下thinkphp5下解决不支持pathinfo模式解决方案,这几天开发环境换成了最新版本的wnmp,导致了运行tp5时,pathinfo模式一直报错。报错的原因是开启pathinfo模式时index.php入口文件被解析成了一个参数,再三寻研究了好几遍最后才找到了答案。

阅读全文 » 2235天前
2018年03月12日

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

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

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

技术饭 PHP的json_eneode()方法不转义中文汉字的方法

PHP的json_eneode()方法不转义中文汉字的方法,ios程序中不识别读取到的JSON数据中 \u开头的数据。PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据。网上很多,但是其实都是错误的,正确的方法是在json_encode 中加入一个参数 JSON_UNESCAPED_UNICODE 。

阅读全文 » 2338天前
2017年11月29日

技术饭 支付宝支付成功,但验证签名失败原因分析

今天做了IOS上的支付宝支付,发现订单支付成功了,但是验证签名失败了,通过分析支付宝的配置都是没有问题的,可是TMD还是有错误,经过努力最后发现了问题在于支付宝支付成功返回的异步通知数据除了要去除去sign、sign_type这两个参数外还必须去除一些不必要的参数。

阅读全文 » 2575天前
2017年04月06日

技术饭 php接口的支付宝接口应该给安卓或IOS返回什么参数?

最近做支付接口,以前做的都是网页支付接口,直接把数据封装然后直接echo出来就可以,但这几天因为没有做过app的支付接口,所以遇到了一些小问题:php接口的支付宝接口应该给安卓或IOS返回什么参数?

阅读全文 » 2576天前
2017年04月05日