技术饭 通过ghostscript将pdf转成图片

需要将pdf转成图片有很多种方式,对于php来说可以通过 ImageMagick 扩展来实现,ImageMagick 主要是处理一系列图片处理,但是如果需要支持pdf转图片需要用到 ghostscript 依赖来实现转换。ImageMagick >= 6.2.4 is required. The amount of file formats supported by Imagick depends entirely upon the amount of formats supported by your ImageMagick installation. For example, Imagemagick requires ghostscript to conduct PDF operations.

阅读全文 » 226天前
2024年04月09日

技术饭 HarmonyOS第一课

HarmonyOS第一课,华为鸿蒙系统(HUAWEI Harmony OS),是华为公司在2019年8月9日于东莞举行的华为开发者大会(HDC.2019)上正式发布的操作系统。 华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端,实现极速发现、极速连接、硬件互助、资源共享,用合适的设备提供场景体验。

阅读全文 » 372天前
2023年11月15日

技术饭 java的非对称ItfRsa.encryptByRSA加密转换成php的openssl RSA加密

java的非对称ItfRsa.encryptByRSA加密转换成php的openssl RSA加密,之前整理了php的openssl加密扩展实现,现在项目用到了RSA加解密,在JAVA与PHP系统之间进行交互,RSA在不同语言的密钥格式不一样,所以过程中主要还是密钥转换问题,经过不断地尝试研究终于搞定了在Java、PHP的转换,可以参考。

阅读全文 » 506天前
2023年07月04日

技术饭 php的openssl加密扩展实现

php的openssl加密扩展实现对称和非对称加密,openssl这个扩展也是随 PHP 源码一起发布的,编译安装的时候加上 --with-openssl 就可以了。当然,它也是需要系统环境中安装 OpenSSL 软件的,在各类操作系统中基本都已经直接有了,如果没有的话就自己安装一下即可。最简单的,在操作系统命令行看看有没有 openssl 命令就可以看出当前系统有没有安装 OpenSSL 相关的软件。

阅读全文 » 536天前
2023年06月04日

技术饭 PHP的MongoDB\Driver\Manager实现对mongodb的操作

MongoDB是开发人员数据平台,提供必要的服务和工具,以快速、高性能和大规模地构建用户需求的分布式应用程序。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

阅读全文 » 539天前
2023年06月01日

技术饭 PHP搜索引擎MeiliSearch实现全文检索

PHP搜索引擎MeiliSearch实现全文检索,Meilisearch 搜索引擎使用 Rust 语言开发,轻量,对中文搜索非常友好,几乎做到了零配置,零学习成本,部署即用,非常方便。建立在 LMDB 键值存储之上,安装在 Ubuntu 或 MacOS 上时,它以 35 MB 的二进制文件形式存在。 MeiliSearch 带有内置的客户端、服务器和 WebUI。 词干提取、停用词、同义词、排名、过滤器和分面等功能都是开箱即用的,使用合理的默认值并且可以轻松定制。

阅读全文 » 539天前
2023年06月01日

生活札记 Laravel学习笔记 - 基础入门(一)

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

阅读全文 » 566天前
2023年05月05日

技术饭 redis队列详解

现如今的互联网应用大都是采用分布式系统架构设计的,所以消息队列已经逐渐成为企业应用系统内部通信的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。当前使用较多的消息队列有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分数据库 如 Redis、MySQL 以及 phxsql ,如果硬搞的话,其实也可实现消息队列的功能。可能有人觉得,各种开源的 MQ 已经足够使用了,为什么需要用 Redis 实现 MQ 呢?有些简单的业务场景,可能不需要重量级的 MQ 组件(相比 Redis 来说,Kafka 和 RabbitMQ 都算是重量级的消息队列)。

阅读全文 » 570天前
2023年05月01日

技术饭 Redis的消息发布(Pub)与订阅(Sub)

Redis的消息发布(Sub)与订阅(Sub),Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。消息多播:生产者生产一次消息,中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的一种解耦方式。

阅读全文 » 570天前
2023年05月01日

技术饭 gitee+webhook+php实现自动拉取代码

gitee+webhook+php实现自动拉取代码,在项目开发中使用git进行代码的管理,每次完成更改上传代码后,还需要登录服务器将代码拉取下来,现在git服务器(gitee/gitlab/github)都会有Webhooks功能,以实现在向git仓库推送/合并等时机让服务器自动拉取新代码。

阅读全文 » 645天前
2023年02月15日

生活札记 Docker+K8S+Devops零基础入门教程之Docker

docker是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。docker images | grep hello | awk '{print $2}'

阅读全文 » 652天前
2023年02月08日

技术饭 PHP中ElasticSearch的简单使用

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

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

技术饭 mysql根据关联表查询统计字段进行排序

mysql根据关联表查询统计字段进行排序,需求是查询所有的主账号数据,然后根据子账号的数量进行按高到低排序,第一想法就是需要做order by那么就需要把统计子账号的结果作为一个字段,那这时候就可以使用子查询来实现了。

阅读全文 » 1119天前
2021年10月29日

技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题

解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。

阅读全文 » 1195天前
2021年08月14日

技术饭 腾讯云redis通过iptables转发实现外网访问

最近项目做迁移,买了腾讯云的redis服务,发现官方是不提供外网访问的权限,而建议直接走内网的方式,但是平时也要管理redis,所以还是需要开通外网来支持redis的外网访问。那么官方提供外网的访问方式是通过iptables转发实现外网访问。

阅读全文 » 1203天前
2021年08月06日

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

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

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

技术饭 PHP利用websocket实现客户端请求ws协议功能

PHP利用websocket实现客户端请求ws协议功能,利用websocket实现PHP对ws协议的请求,这里PHP是作为一个客户端通过ws协议请求服务,而不是作为服务端,这个首先要区分下。ws协议是websocket的东西,现在也有很多东西可以实现,如workerman、swoole,但是说实话,看到workerman的文档,有介绍怎么实现这个功能,但是个人是感觉真的很头疼,一切都是基于cli,基本都是用到命令行去执行,一个类似curl请求获取结果的功能还要去捣鼓这些东西,真是呵呵哒。swoole就不说了,首先Windows都不支持(当然,现在基本都是用Linux,但是个人感觉不是很通用)。

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

技术饭 redis实现目录层级结构存储

redis实现目录层级结构存储,想实现层级目录存储key,类似/project/func/username 这种方式存储。在redis中set key的时候把目录层级用冒号连接,如:/a/b/c/username的key值为simon

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

技术饭 实现小程序扫码发红包、小程序扫一物一码二维码领取红包、小程序红包

微信支付给用户发送包、转账的方式有两,一种是直接企业到零钱,另外一种是直接发红包,需要用户自行拆开领取,之前都是通过公众号直接支付发红包,现在的需求是需要在小程序里直接调起拆红包功能,或者是小程序里直接企业到零钱发个用户。

阅读全文 » 1401天前
2021年01月20日

技术饭 vue、js前端集成ueditor编辑器,后端serverUrl的实现方式

vue、js前端集成ueditor编辑器,后端serverUrl的实现方式,对比其他的富文本编辑器,Ueditor的功能相对来说是最强的,对于在Vue、jquery中集成Ueditor想必还是有这个需求的,接下来就来看看Ueditor在后端如何进行配置提供上传功能。

阅读全文 » 1429天前
2020年12月23日

技术饭 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数据类型以及关于这种类型的检索以及其他函数解析。

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

技术饭 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 ,然后短网址做个重定向到长网址就好了。

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

技术饭 PHPMailer实现PHP的邮件发送,附带附件

PHPMailer发送邮件,附带附件,phpMailer 是一个非常强大的 ph p发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

阅读全文 » 1520天前
2020年09月23日

技术饭 微信开放平台中第三方平台api接口的对接与实现

微信开放平台中第三方平台api接口的对接与实现,最近为了做微信开放平台的第三方平台也是花费了两周多的时间,中间碰到各种坑,以前如果要帮助第三方公众号做开放,也是直接把第三方的开发信息改成自己服务器的,但是这样不方便,不同服务商每做一个活动都要重新改一次,所以只能使用公众号授权第三方平台来实现这样的功能了。

阅读全文 » 1546天前
2020年08月28日

技术饭 获取微信js-sdk网页授权的地理位置

获取微信js-sdk网页授权的地理位置,通过微信浏览器打开页面时,有时会提示要获取地理位置信息,点击同意后,自己的地理位置信息就会相应的显示在页面,同时通过数据库的查询,以实现以地理位置分类的逻辑业务。

阅读全文 » 1557天前
2020年08月17日

技术饭 “微信群控”:虚假养号、色情变现、薅羊毛,微信黑产全揭露!外挂、群控养号

群控”系统是指,通过系统自动化控制集成技术,把多个手机操作界面直接映射到电脑显示器,实现由一台电脑来控制几十台甚至上百台手机的效果。群控系统对中控电脑上每个手机的操作界面进行编号,对应相同编号的手机,从而实现一对一的手机操作控制。

阅读全文 » 1558天前
2020年08月16日

技术饭 PHP实现微信支付的现金红包、企业付款到零钱功能

企业付款提供由商户直接付钱至用户微信零钱的能力,支持平台操作及接口调用两种方式。具有免费、快速到账、灵活、安全等优点。商户可以使用企业付款,用于如:费用报销、员工福利、用户奖励等。微信红包,2014年春节一推出即受到广大用户好评,引发全民抢红包热潮。现将微信红包打造成“现金红包”,作为一款定向资金发放的营销工具,供商户使用。用户在客户端领取到红包之后,所得金额进入微信钱包,可用于转账、支付或提取到银行卡。

阅读全文 » 1567天前
2020年08月07日

技术饭 阿里云 Composer 全量镜像

阿里云 Composer 全量镜像,阿里云正式上线PHP Composer全量镜像,所有PHP开发者都可以通过我们的开发者社区developer.aliyun.com/composer加速Composer安装器。这款镜像工具的最大优势是快,几乎实现与PHP Packagist官方实时同步,每隔30秒刷新全国CDN缓存。它基于阿里云的对象存储OSS和CDN研发同步系统,通过任务分发,实现同步的快速和稳定。

阅读全文 » 1659天前
2020年05月07日

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

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

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

技术饭 微信小程序发送订阅消息(模板消息将下线)

由于“模板消息”将下线,已不再支持添加模板,请尽快接入“订阅消息”。消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。订阅消息推送位置:服务通知,订阅消息下发条件:用户自主订阅,订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面

阅读全文 » 1696天前
2020年03月31日

技术饭 活动抽现金红包,微信第三方代发红包

最近需要做一个能抽奖发红包的H5活动,用在微信上,本身微信支付自带了发红包功能,但是奈何开通此功能需要微信支付有1个月以上的支付流水,所以就放弃了,然后采用第三方接口实现红包,第三方接口正常的逻辑是:钱充值到第三方平台,其实钱是冲到了第三方的微信支付账号,然后调用第三方接口,第三就给用户发送红包链接,用户点击就可以领取红包啦。

阅读全文 » 1699天前
2020年03月28日

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

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

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

技术饭 phpqrcode实现二维码生成

phpqrcode实现二维码生成,对于生成二维码的方式很多,可以使用js库生成、可以使用草料第三方接口生成、当然也可以使用php的插件生成,这里就主要说下php版本的二维码生成,其他方式自行搜索。

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

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

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

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

技术饭 php实现文字换行以及thinphp5.1水印自定义位置

最近要做图片生成图片水印与文字水印,但是遇到了一些小问题,tp5.1的图片类库只提供了9个位置,那图片水印如何自定义位置?文字水印,字数过多,水印超出了图片如何解决?

阅读全文 » 1708天前
2020年03月19日

技术饭 使用postman传数组数据

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

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

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

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

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

吃瓜群众 团贷网难兄“小黄狗”破产,曾估值百亿四千员工被离职

据央视财经8月20日报道,曾以智能垃圾分类回收机闻名的小黄狗环保科技有限公司自2019年3月就开始出现财务危机,目前处于破产重整的状态。 报道称,小黄狗研制的无人管理智能垃圾分类回收机一度被作为新型垃圾分类回收产业的样本,在全国多个城市均有铺陈。其利润模式是低价回收垃圾、高价卖出,如纸类垃圾的回收价为0.35元/公斤,而金属和塑料则是0.2元/公斤,均低于废品回收站价格。不过由于垃圾的人力成本和运输成本,小黄狗目前还未实现盈利。

阅读全文 » 1917天前
2019年08月23日

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

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

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

技术饭 微信小程序敏感图片(imgSecCheck)、内容检测(msgSecCheck)接口实现

微信小程序敏感图片(imgSecCheck)、内容检测(msgSecCheck)接口实现,主要是为了调用微信小程序msgSecCheck、imgSecCheck接口。

阅读全文 » 1963天前
2019年07月08日