技术饭 PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等

PHP创建PDF文档,相应的PHP类库有:TCPDF、mPDF、Dompdf等,如果要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天介绍一款PDF库:TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。

阅读全文 » 今天
17 小时前

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

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

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

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

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

阅读全文 » 10天前
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中的参数就失效了,无论设置成什么都会失效。

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

技术饭 PHP SDK上传文件到阿里云oss文件存储Bucket

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。最近业务需求做了PHP SDK上传文件到阿里云oss文件存储Bucket的相关工作。

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

技术饭 PHP WSG84转BD09 地理坐标系互转

最近使用了微信公众号的地理定位服务,获取得到的纬度与经度用来转换成功详细地址信息,腾讯使用的地图地位坐标系是WSG84,如果获取地理位置信息使用的是腾讯地图服务的话就不需要转换,如果使用的是百度或者其他精度的坐标系,则需要进行转换。

阅读全文 » 42天前
2020年08月18日

技术饭 php解析ip地址的免费纯真IP数据库

之前使用的tp3的UTFWry.dat作为ip解析,但是感觉这个类有点旧,还比较难用,数据不多,如果需要其他信息还需要重新修改IpLocation.php类,淘宝腾讯提供的免费第三方获取ip的方式不太稳定,所以找了找还是基于qqwry.dat的ip库相对合适。

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

技术饭 think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误

think\cache\Driver::unserialize()经常报Error at offset... bytes这样的错误,这几天做了抢红包的活动,请求高并发之后,程序出现了报错,数据无法写入数据库,查询调试发现报的错误是:unserialize(): Error at offset 284217 of 284296 bytes,后来是清除了缓存才解决了问题,可是问题是总不能一直清除缓存吧!!!

阅读全文 » 45天前
2020年08月15日

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

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

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

技术饭 转:PHP phpspreadsheet 导出大数据 csv excel

最近项目一直需要导出数据到Excel里,使用了phpspreadsheet导出Excel,但是数据量一大的话就卡住了,正常导出大概不到1w条吧,超过1w条NGINX可能就报502超时了,为了解决问题只能百度看看了。

阅读全文 » 144天前
2020年05月08日

技术饭 阿里云 Composer 全量镜像

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

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

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

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

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

技术饭 phpqrcode实现二维码生成

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

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

技术饭 安装在thinkPHP5.1下报错了:Cannot use Workerman\Worker as Worker because the name is already in use

在做定时任务,执行php命令:php think AutoDelOrder 的时候处理下了:Cannot use Workerman\Worker as Worker because the name is already in use,查看文件位置,看到的是 Workerman\Worker 名字已经被使用了,所以需要改成其他名称,这个算官方的一个BUG吧,希望尽快修复。

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

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

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

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

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

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

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

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

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

阅读全文 » 202天前
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目录即可解决问题。

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

技术饭 thinkphp5.1的json数据写入、查询

正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。

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

技术饭 关于js floor 和 PHP floor 价格运算结果“出错”的问题

关于js floor 和 PHP floor 价格运算结果“出错”的问题,例如:当门票价格为19.9元时,PHP程序员用floor函数来处理,结果在支付时发现金额变成了19.89元,突然少了0.01元

阅读全文 » 213天前
2020年03月01日

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

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

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

技术饭 PHP仿造微信批量生成OpenId、UnionID

微信大家都很熟悉,那么微信的OpenId、UnionID的生成规则是什么呢?又如何才能批量地生成OpenId、UnionID呢?首先我观察了两个公众号关注后的生成openid的规则,发现了以下规则,1. OpenID都是28位,2. 前六位是有规律的

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

技术饭 PHP数据采集框架QueryList,使用案例~~~

QueryList不依赖任何框架和架构,它可以单独使用也可以引入到任意的PHP开发框架中去使用,如:Laravel、ThinkPHP;你可以使用它来构建简单的采集系统,也可以用它才构建高可用的分布式采集系统。它提供了丰富的基于CSS选择器的页面抽取API,完全模块化的设计,拥有强大的可扩展性。

阅读全文 » 220天前
2020年02月22日

技术饭 var_export()和var_dump()的区别

var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值。

阅读全文 » 221天前
2020年02月21日

技术饭 413错误,Allowed memory size of 100663296 bytes exhausted (tried to allocate 84494727 bytes),php.ini重启不生效

文件上传出现413错误,解决完413后报Allowed memory size of 100663296 bytes exhausted (tried to allocate 84494727 bytes)错误,修改php.ini之后重启php-fpm,php.ini配置还是原样不生效不生效

阅读全文 » 353天前
2019年10月12日

技术饭 PhpSpreadsheet 导出图片到 Excel

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

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

技术饭 thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE

thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE,有些服务器可以正常,网上的解释都是说确认php_zip,php_gd2,php_xml是否开启,经过测试都开启了却还是不行,最终看了先thinkphp5的输出方式是return,所以在 php://output 前面加个return输出即可。

阅读全文 » 377天前
2019年09月18日

技术饭 爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线

爱客猴内容管理系统(AikehouAdmin5.2.0)正式上线,爱客猴内容管理系统(AikehouAdmin5.2.0),基于国内流行的 ThinkPHP5.1 框架研发,UI插件采用简洁、直观、强悍的 AdminLTE3 前端开发框架以及国内口碑极佳的 Layui2.5.3,全新的设计理念,带来更舒爽的体验。

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

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

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

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

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

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

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

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

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

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

技术饭 爱客猴内容管理系统v3.2.3版本开放下载

从今天开始,爱客猴内容管理系统3.2.3将开放下载,希望爱客猴源程序对大家有所帮助,源码开放之后3.2.3版本不再进行更新、不再提供技术上的支持,感谢支持。5.2.0版本由于开发进度问题暂时外对外开发,请谅解!

阅读全文 » 525天前
2019年04月23日

技术饭 linux/windows系统如何安装PHP-mbstring扩展

各种语言都有自己的编码,他们的字节数是不一样的,mbstring扩展就是为确保不同编码的语言在PHP程序中能够正常显示提供解决方案。

阅读全文 » 547天前
2019年04月01日

技术饭 ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题

ThinkPHP3.2框架中添加(add)或更新(save)时过滤某些字段的问题,在已经建好的数据表结构中新增或修改字段后,在TP框架中执行增加、修改操作时出现过滤掉该字段,而打印的插入或更新数据会显示该字段,打印执行的sql语句不会出现该字段,这时把TP框架中的runtime文件夹删掉即可,原因是runtime文件夹中有数据库的缓存会自动过滤掉该字段

阅读全文 » 566天前
2019年03月13日

技术饭 使用phpoffice/phpspreadsheet,导入导出数据

使用phpoffice/phpspreadsheet,导入导出数据

阅读全文 » 568天前
2019年03月11日

技术饭 用php获取本周,上周,本月,上月,本季度日期的代码

用php获取本周,上周,本月,上月,本季度日期的代码

阅读全文 » 581天前
2019年02月26日

技术饭 PHP获取微信小程序二维码、商品二维码、页面二维码

PHP获取微信小程序二维码、商品二维码、页面二维码,在小程序上有三个获取二维码的接口,主要用户不限制的接口:getWXACodeUnlimit,其他两个接口适用少量生成,接口只能生成已发布的小程序的二维码接口 A 加上接口 C,总共生成的码数量限制为 100,000,请谨慎调用。接口 B 调用分钟频率受限(5000次/分钟),如需大量小程序码,建议预生成。

阅读全文 » 618天前
2019年01月21日

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

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

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

技术饭 nginx+php使用open_basedir限制站点目录防止跨站

今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现提示 Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s): 错误了。

阅读全文 » 645天前
2018年12月24日

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

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

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