技术饭 php通过ImageMagick类库将pdf转换成图片

php通过ImageMagick类库将pdf转换成图片,Imagick 是用 ImageMagic API 来创建和修改图像的PHP官方扩展。ImageMagick 是用来创建,编辑,合并位图图像的一套组件。 它能够用于读取,转换,写入多种不同格式的图像。 包含 DPX、EXR、GIF、JPEG、JPEG-2000、PDF、PhotoCD、PNG、Postscript、SVG 和 TIFF。

阅读全文 » 120天前
2023年11月30日

技术饭 php通过spatie/browsershot将html文件转成pdf、图片

php通过 spatie/browsershot 将html文件转成pdf、图片,最近需要将html文件转成png或者是pdf合同,如果使用php手动处理的话那过程就需要经过,html -> pdf -> png,这样单独写的话就比较麻烦,如果有composer或者类库的话那就很好用了,搜了一下 spatie/browsershot 比较好用些,只是需要依赖npm、puppeteer。

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

技术饭 php通过GD库生成简单的印章图片

php通过GD库生成简单的印章图片,GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印。php的gd库有很多的函数可以生成各式各样的图片,比如电子印章、电子公司盖章等等。

阅读全文 » 280天前
2023年06月23日

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

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

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

技术饭 php函数getimagesize()函数获取腾讯云对象存储图片信息太慢解决办法

php函数getimagesize()函数获取腾讯云对象存储图片信息太慢,导致接口返回超过了5s,这个体验太不好了,按照正常逻辑:想获取图片信息,当然是用getimagesize()函数,对于getimagesize()函数而言本地服务器的文件读取相对是比较快的,但是远程的图片就太慢了,必须先现在到本地服务器,然后再获取,如果有的图片很大,那这个下载速度可想而知的慢。

阅读全文 » 863天前
2021年11月17日

技术饭 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(); 将复回原样。

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

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

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

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

技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败

最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。

阅读全文 » 1286天前
2020年09月19日

技术饭 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中的参数就失效了,无论设置成什么都会失效。

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

技术饭 Nginx设置alias的二级目录之后,首页访问正常,但是js、css、图片等静态文件出现404

Nginx设置alias的二级目录之后,首页访问正常,但是js、css、图片等静态文件出现404,之前配置了一个域名为pc访问域名,域名加个目录是访问后台,类似:a.com 是首页,a.com/admin 是后台,而且两个目录在同一个层级,但是alias配置之后一直找不到静态文件。

阅读全文 » 1459天前
2020年03月30日

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

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

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

技术饭 JS快速获取图片的实际宽高

JS快速获取图片的实际宽高,通过onload就能获取到图片的宽高了。但onload大一点的图通常都比较慢,不实用,但只要图片被浏览器缓存,那么图片加载几乎就不用等待即可触发onload,我们要的是占位符。所以有些人通过缓存获取也可以这么写。

阅读全文 » 1529天前
2020年01月20日

技术饭 PhpSpreadsheet 导出图片到 Excel

之前使用的是PHPExcel来做PHP程序的数据导出,但是ThinkPHP5版本就改成了PhpSpreadsheet,文档因为是英文的所以看不太懂,今天解决的是PhpSpreadsheet 导出图片到 Excel。

阅读全文 » 1653天前
2019年09月19日

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

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

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

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

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

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

技术饭 uploadfive1.2.2 + jquery-cropper实现图片裁剪图片质量问题

uploadfive1.2.2 + jquery-cropper实现图片裁剪图片质量问题,经过反复使用测试还是发现了一个问题就是图片进行裁剪之后图片质量变得很模糊,最终的解决方案就是在图片创建canvas的时候设置裁剪图片的质量为high。

阅读全文 » 1774天前
2019年05月20日

技术饭 uploadfive1.2.2 + jquery-cropper实现图片裁剪png图片透明处理

uploadfive1.2.2 + jquery-cropper实现图片裁剪png图片透明处理,之前使用uploadfive1.2.2与jquery-cropper这两个插件发现一个问题就是png图片处理之后一直返回的是白色背景,透明背景全被填充成了白色,所以就测试给出了解决方案。

阅读全文 » 1776天前
2019年05月18日

技术饭 thinkphp5.1图片处理类think-image的png图片透明度以及水印透明

thinkphp5.1图片处理类think-image的png图片透明度以及水印透明,每次更新都要修改图片类,不理解ThinkPHP官方为什么不更细解决这个问题,难道这不是个问题!

阅读全文 » 1777天前
2019年05月18日

技术饭 ImageMagick及PHP的imagick扩展的安装及配置

imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API,ImageMagick是一套软件系列,主要用于图片的创建、编辑以及转换等,详细的解释见ImageMagick的官方网站http://www.imagemagick.org/,ImageMagick与GD的性能要高很多,如果是在处理大量的图片时更加能体现ImageMagick的性能。

阅读全文 » 1780天前
2019年05月15日

技术饭 JS在可编辑DIV (contenteditable="true")中的光标位置插入内容或表情

近期需开发一个DIV做的编辑器,插入表情图片可直接预览效果,仔细参考了下百度贴吧的过滤粘贴过来文件的THML代码,自己整理了下。写出来只是和大家分享下,我自己也不大懂,经过努力,幸好搞定。

阅读全文 » 1916天前
2018年12月30日

技术饭 微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案

微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案,已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。这是怎么回事呢?遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的。

阅读全文 » 1927天前
2018年12月19日

技术饭 uploadfive1.2.2 + jquery-cropper实现图片裁剪后上传

为了做图片上传然后再进行裁剪之后上传,这个东西研究了一晚上,本来想参考webuploader + cropper实现图片裁剪后上传,但是两者上传还是有一些差别,所以就重新整理了uploadfive1.2.2 + jquery-cropper实现图片裁剪后上传,分享出来让大家少走弯路!!!

阅读全文 » 1939天前
2018年12月07日

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

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

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

技术饭 PHP抓取远程图片到本地保存

最近在工作中需要开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储。于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码。

阅读全文 » 2020天前
2018年09月17日

技术饭 PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法

PHP7.2安装之后图片验证码验证失败,php.ini文件设置session.save_path失败的解决办法,php5.3.3以前php-fpm还没有被php收录,配置php基本都在php.ini里面,php5.3.3及以后,除了在php.ini配置以外,还可以在php-fpm.conf里面配置。

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

技术饭 webuploader + cropper实现图片裁剪后上传

介绍两个插件cropper和webuploader。cropper是一款使用简单且功能强大的图片剪裁jQuery插件。该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用。而WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。如果你的H5项目是基于zepto.js,你就可以使用webuploader这个插件;如果你的H5项目是基于jquery,你就可以使用cropper这个插件。webuploader是兼容zepto和jquery的,而cropper只能基于jquery。

阅读全文 » 2025天前
2018年09月12日