技术饭 mongodb 时间与_id相互转换
mongodb 时间与_id相互转换,ObjectId() 方法可直接生成当前时间的_id,也可以给方法 ObjectId() 传参生成对应的_id,可通过 getTimestamp() 方法获取时间戳,其中时间转成 utc时间,时间戳需要乘以1000
阅读全文 » 113天前2024年06月18日
技术饭 php随机生成5到25范围内的数字,组成数组并且数组总和等于100
php随机生成5到25范围内的数字,组成数组并且数组总和等于100,生成一个总和是100的数组并不难,只要随机N-1次,然后最后一个数字是100扣除已生成得总和,补足100即可,但难点在于这些数字需要控制在5到25之间,所以只能采用每次赋值计算最大值最小值的方法,然后不随机生成数字,总数扣减,最大值最小值逼近相同。
阅读全文 » 483天前2023年06月14日
技术饭 curl 发送 form-data 数据流:Content-Type:multipart/form-data; boundary=xxxxxxxxx; charset=utf-8
curl 发送 form-data 数据流:Content-Type:multipart/form-data; boundary=xxxxxxxxx; charset=utf-8,multipart/form-data是基于post方法来传递数据的,并且其请求内容格式为Content-Type: multipart/form-data,用来指定请求内容的数据编码格式。另外,该格式会生成一个boundary字符串来分割请求头与请求体的,具体的是以一个boundary=${boundary}来进行分割。
阅读全文 » 490天前2023年06月07日
技术饭 WSL2使用PHP访问Windows 11上的MongoDB报错:Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: [connection refused calling hello on 'localhost:27017']
WSL2使用PHP访问Windows 11上的MongoDB报错:Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling hello on 'localhost:27017'],解决方法是:1、防火墙需要运行wsl2、2、mongodb配置文件设置bindIp=0.0.0.0、3、设置wsl中对应host访问
阅读全文 » 500天前2023年05月28日
生活札记 Laravel学习笔记 - 基础入门(一)
Laravel 是一个全栈Web应用程序框架,具有富有表现力、优雅的语法。它可以从面条一样杂乱的代码中解脱出来,它可以构建网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。
阅读全文 » 523天前2023年05月05日
生活札记 golang学习笔记 - helper辅助函数(六)
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。Go 是谷歌支持的开源编程语言,易于学习和入门,内置并发和强大的标准库,不断发展的合作伙伴、社区和工具生态系统。Golang没有提供类似PHP的内置函数,所以很多时候需要自行整理成一个辅助方法库。
阅读全文 » 539天前2023年04月19日
生活札记 Docker+K8S+Devops零基础入门教程之Devops
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
阅读全文 » 598天前2023年02月19日
技术饭 微信分享:分享签名、分享链接需要注意的细节
微信分享JSSDK在1.4.0之后,废弃了很多的方法如:onMenuShareTimeline、onMenuShareAppMessage、onMenuShareQQ等,取而代之的是:自定义“分享给朋友”及“分享到QQ”按钮的分享内容(updateAppMessageShareData)、自定义“分享到朋友圈”及“分享到 QQ 空间”按钮的分享内容(updateTimelineShareData)
阅读全文 » 637天前2023年01月11日
技术饭 INSERT INTO SELECT FROM,从某个表复制到另外一个表语句的使用方法
INSERT INTO SELECT FROM,从某个表复制到另外一个表语句的使用方法,数据脚本迁移原本看起来比较麻烦,问了下大佬,大佬随便在我屏幕上打上:insert into from,说用这个就好了,然后再加上小度就找到解决方法了,感谢大佬,每天教会小弟一点知识。
阅读全文 » 869天前2022年05月24日
技术饭 eval()’d code on line 1 的解决方法
eval()’d code on line 1 的解决方法,php的eval函数是用来把一段文字当作一段php的脚本来执行,这样做的好处是我们可以动态修改php执行的内容。原始是看了权限部分的eval方法,运行代码,提示 “eval()’d code on line 1”,根据提示来看是eval函数在执行的时候出错了。无论怎么执行单引号的一直不行,就很奇怪。后来改成双引号才得以解决。
阅读全文 » 1092天前2021年10月13日
技术饭 vscode1.60版本不支持:terminal.integrated.shell.windows
vscode1.60版本不支持:terminal.integrated.shell.windows,旧版VScode 的 git bash 终端配置如下:"terminal.integrated.shell.windows": "D:\\Program Files\\Git\\bin\\bash.exe",当VSCode升级至1.57.1(2021.6.17)时,会出现警告提示:此项已弃用,配置默认 shell 的新推荐方法是在 #terminal.integrated.profiles.windows# 中创建一个终端配置文件,并将其配置文件名称设置为 #terminal.integrated.defaultProfile.windows# 中的默认值。此操作当前将优先于新的配置文件设置,但将来会发生更改。
阅读全文 » 1131天前2021年09月04日
技术饭 centos8 安装 mysql5.7(更新数据库)
centos8 安装 mysql5.7(更新数据库),centos8下默认的yum源是mysql8,如果想用mysql5.7那该如何安装呢?其实也蛮简单的,mysql官方也给出了操作方法,直接安装步骤执行就可以了,但是有一点需要注意的是:过程中可能会报Mariadb错误,原因是因为yum自动默认了Mariadb,这需要先禁用卸载Mariadb之后才能继续安装mysql5.7版本。
阅读全文 » 1159天前2021年08月08日
技术饭 thinkphp5将json对象转数组
thinkphp5将json对象转数组,tp5获取得到的数据是json格式,但是无法通过数据的方式直接获取,以前是有默认转换,现在只能通过 getContent() 方法来获取内部的数据了。
阅读全文 » 1286天前2021年04月02日
技术饭 php7.2微信公众平台消息安全模式的加密及解密
php7.2微信公众平台消息安全模式的加密及解密,php7.2发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利。但是从php7.0 升级到 php7.2 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展)。官方提供了相应的解决提示,却没有提供更详细的解决办法。于是就各种报错,当然了只能改方法了~~~
阅读全文 » 1383天前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。
阅读全文 » 1387天前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数据类型以及关于这种类型的检索以及其他函数解析。
阅读全文 » 1392天前2020年12月17日
技术饭 PHP查询用户排名名次、Mysql查询用户排名名次的方法
PHP查询用户排名名次、Mysql查询用户排名名次的方法,最近做了用户排行榜,那么就整理了查询用户排行的一些代码,主要分为两部分:PHP、Mysql两者独立查询用户排名信息,当然查询的是所有用户的排名以及当前用户的排名信息。
阅读全文 » 1404天前2020年12月05日
技术饭 前端js加密后台php解密,自定义加密方法
前端js加密后台php解密,自定义加密方法,前端html输入用户名密码之后,使用http传到后台,post的内容全部是明文,用户名和密码通过抓包工具可以很容易获取到,所以需要在http传输之前对密码进行加密处理,php收到post内容之后进行解密,然后进行后续认证处理。
阅读全文 » 1405天前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(); 将复回原样。
阅读全文 » 1409天前2020年11月30日
技术饭 PHP二维数组去除重复项
PHP的一维数组正常使用array_unique()方法直接去除重复项即可,但是二维数据似乎没有固定的内置函数,这时候就需要自己手动些方法处理了,那如果去除二维数组的重复项呢?研究了一会,大概写了简略版本的去重方案。
阅读全文 » 1421天前2020年11月18日
技术饭 解决Unable to find the wrapper "https"的二种方法
这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。
阅读全文 » 1426天前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 ,然后短网址做个重定向到长网址就好了。
阅读全文 » 1433天前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
阅读全文 » 1442天前2020年10月28日
技术饭 php判断当前是http还是https
php判断当前是http还是https,使用 $_SERVER['HTTPS'] 的值来判断,或者通过 $_SERVER['SERVER_PORT'] 的端口号443来判断是否是https,如果is_ssl()方法返回true则是https,如果返回false则是http。
阅读全文 » 1460天前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的报错。
阅读全文 » 1461天前2020年10月09日
技术饭 微信小程序扫一扫的功能实现
微信小程序扫一扫的功能实现,这个功能比较简单,直接看微信小程序文档就好了,只要执行wx.scanCode方法就好了,其他的不再赘述。
阅读全文 » 1658天前2020年03月26日
技术饭 PHP ZipArchive 类库压缩、解压Zip文件
PHP ZipArchive 类库压缩、解压Zip文件,PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法请自行百度。
阅读全文 » 1664天前2020年03月20日
技术饭 thinkphp5.1控制器中的初始化方法initialize()不能return出数据
本来是要做登录验证与权限验证,正常是想在每个控制器的头部初始化方法initialize()直接return出数据,但是试了很多遍thinkphp5.1控制器中的初始化方法initialize()不能return出数据,翻了文档确实也是说不能输出,建议使用中间件的方式返回数据即可。
阅读全文 » 1673天前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目录即可解决问题。
阅读全文 » 1678天前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绝对跳转实现。
阅读全文 » 1678天前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() 方法的时候报错了,检测发现排序只能是数据,而对象集合是不支持的,所以做法是先数据是否为对象,如果是对象则转成数组,然后在进行操作就没有问题了。
阅读全文 » 1687天前2020年02月26日
技术饭 PHP生成随机英文用户名
最近用wordpress来做英文的博客,需要虚构一些随机的英文用户名来冒充访客发表评论,因为对PHP不熟悉(压根没学过),只能在百度和google查找方法。办法有2个:1、随机字母数字组合法;2、字典随机组合法
阅读全文 » 1688天前2020年02月25日
生活札记 三大运营商可查询个人轨迹,30 天内去过哪里都知道
今天有微博大 V 用户发现了三大运营商推出的【个人轨迹证明方法】,可以给电信服务商发短信,得到你的手机最近一个月的轨迹,用来辅助证明你最近一个月是否离开城市或者由异地返回。IT 之家亲测中国联通可用,另外中国移动和中国电信请用户们测试。
阅读全文 » 1699天前2020年02月14日
技术饭 Linux crontab 实现秒级定时任务
Linux crontab 实现秒级定时任务,1、crontab 的延时: 原理:通过延时方法 sleep N 来实现每N秒执行。60必须能整除间隔的秒数(没有余数),例如间隔的秒数是2,4,6,10,12等。如果间隔的秒数太少,例如2秒执行一次,这样就需要在crontab 加入60/2=30条语句。
阅读全文 » 1875天前2019年08月22日
技术饭 json字符串格式化展示
json字符串格式化展示,解决方案:JSON.stringify()方法:就json对象转成json字符串,5:表示有5个空格缩进最多10个,但是发现打印的所有字符串还是连在一起,是因为html忽略了空格或者tab,使用<pre></pre>标签就好了。
阅读全文 » 1957天前2019年06月01日
技术饭 exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题
exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题,手机图片上传之后出现了反向问题,操作系统里的文件属性功能可能已经把图片给修正过了,那这时候就要把图片给旋转回来就需要用到php的exif_read_data方法。
阅读全文 » 1962天前2019年05月27日
技术饭 这可能是由于CredSSP加密Oracle修正 解决方法
升级至win10 最新版本10.0.17134,远程桌面连接Window Server时报错信息如下:出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正。
阅读全文 » 2059天前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 重启
阅读全文 » 2114天前2018年12月26日
技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法
thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了
阅读全文 » 2115天前2018年12月25日
技术饭 ajax 设置Access-Control-Allow-Origin实现跨域访问
ajax 设置Access-Control-Allow-Origin实现跨域访问,ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。
阅读全文 » 2122天前2018年12月18日