![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
天青色在等你
这个作者很懒,什么都没留下…
展开
-
PHP解决curl返回内容乱码
【代码】PHP解决curl返回内容乱码。原创 2022-12-21 18:04:30 · 552 阅读 · 0 评论 -
php使用p12证书调用第三方接口
php使用p12证书调用第三方接口。原创 2022-08-23 13:53:43 · 621 阅读 · 0 评论 -
php批量生成电商sku列表(笛卡尔积)
php批量生成电商sku列表(笛卡尔积)原创 2022-08-13 09:38:58 · 635 阅读 · 1 评论 -
ThinkPHP关联预载入with
上面这部分代码会执行4次查询使用关联预载入如果使用关联预查询功能,就可以变成2次查询(对于一对一关联来说,如果使用withJoin方式只有一次查询),有效提高性能。主要是因为with查询改为了in条件查询,一次性查出了3条profile模型数据执行sql如下...原创 2022-06-30 15:23:28 · 1048 阅读 · 0 评论 -
PHP通过wsdl发送soap请求 带header头参数
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP和WSDL虽然是web service的两大标准,但是两者并没有必然的联系,都可以独立使用。它们之间的关系就类似HTTP和Html之间的关系。前者是一种协议,后者是对一个Web Server的描述。更多原创 2022-06-02 17:26:51 · 1105 阅读 · 0 评论 -
php读取pdf文字内容
安装第三方库composer require smalot/pdfparser如果没有安装composer可以在GitHub下载 下载地址https://github.com/smalot/pdfparser下载后引入 alt_autoload.php-dist 文件开始使用<?php// Parse PDF file and build necessary objects.$parser = new \Smalot\PdfParser\Parser();$pdf = $pars原创 2022-05-10 15:12:49 · 2123 阅读 · 0 评论 -
PHPExcel导入模板并修改数据
$objReader = new \PHPExcel_Reader_Excel2007(); //xlsx //$objReader = new \PHPExcel_Reader_Excel5(); $objPHPExcel = $objReader->load('文件路径'); //获取sheet $objActSheet = $objPHPExcel->getActiveSheet(); ...原创 2022-03-23 11:06:14 · 918 阅读 · 0 评论 -
PHPExcel读取表格选项值(下拉框)
表格下拉框的值是存在另外一个隐藏的sheet里面的,名称为(sheet名称_hide)只要读取这个隐藏的sheet数据就可以拿到值了//可以通过该方法返回所有的sheet名称,里面就包含了隐藏的sheet名//$objPHPExcel->getSheetNames() $file = $this->request->file('file');$objPHPExcel = \PHPExcel_IOFactory::load($file->getInfo("tmp_name原创 2022-03-08 18:17:55 · 568 阅读 · 0 评论 -
php单例模式使用
class BaseLogic{ static protected $instance; private function __construct() { } private function __clone() { } //获取实例,可以被多个类继承 static public function make() { //判断是否是调用类的实例,不是就重新赋值 if (!(self::$insta原创 2021-09-26 14:09:12 · 78 阅读 · 0 评论 -
php对数组进行多个字段值排序
对数组多个字段按照顺序排序$arr = [ [ 'id' => 5, 'money' => 300 ], [ 'id' => 8, 'money' => 200 ], [ 'id' => 3, 'money' => 700 ],原创 2021-08-17 18:12:58 · 241 阅读 · 0 评论 -
php获取远程地址文件数据返回前端直接下载
php下载远程文件,不用转存,直接可以下载 $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://www.test.com/code/1628152546955588895.jpg'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALS原创 2021-08-10 10:51:05 · 816 阅读 · 0 评论 -
亚马逊MWS接口使用
亚马逊通过接口自动获取订单数据,修改产品信息安装https://packagist.org/packages/mcs/amazon-mws执行composer命令composer require mcs/amazon-mws$client = new MCS\MWSClient([ 'Marketplace_Id' => '', 'Seller_Id' => '', 'Access_Key_ID' => '', 'Secret_Access_Key原创 2021-08-09 18:49:41 · 416 阅读 · 3 评论 -
phpExcel使单元格部分文字加粗、放大、添加颜色
可以使用phpExcel的富文本进行操作$objPHPExcel = new \PHPExcel();//创建一个富文本对象$objRichText = new \PHPExcel_RichText();$objRichText->createText('铁扇公主');//需要改变大小或颜色的文字内容$objPayable = $objRichText->createTextRun('芭蕉妹妹');//设置加粗$objPayable->getFont()->setB原创 2021-08-06 12:03:16 · 1900 阅读 · 0 评论 -
PHP Deprecated: Swoole\Event::rshutdown(): Event::wait() in shutdown function is deprecated
解决方案\Swoole\Event::wait();请将此函数放置于 PHP 程序末尾原创 2021-07-26 10:11:51 · 2612 阅读 · 0 评论 -
解决TCPDF截取字符后导致文件内容无法正常显示问题
例如mb_substr($val['type_name'], 0, 5, 'utf-8');只需要指定编码类型即可 utf-8原创 2021-07-20 09:49:07 · 206 阅读 · 0 评论 -
解决内存泄露造成php-fpm进程占用内存过高问题
方案一设置 php-fpm.conf中的 pm.max_requests = 30000 当php-fpm处理了给定值的请求次数后会重启进程,达到释放内存的效果方案二添加一个定时任务,重启php-fpm进程原创 2021-06-29 15:14:41 · 291 阅读 · 2 评论 -
php生成阿里云OSS STS凭证返回前端,前端上传文件到OSS
要先去阿里云管理后台开通STS服务然后去 下载类库包 https://help.aliyun.com/document_detail/31920.html直接上代码,调用即可<?phpnamespace app\common;class StsService{ protected $url = 'https://sts.aliyuncs.com'; protected $accessKeySecret; protected $accessKeyId; .原创 2021-06-29 10:01:41 · 950 阅读 · 0 评论 -
docker安装php lnmp环境
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器安装dockeryum install dockersystemctl start docker #启动 Docker输入docker -v出现下面内容就表示成功了镜像下载docker pull nginxdocker pull mysqldocker pull php:7.4-fpm编辑脚本执行vim docker_nginx.sh#!/usr/bin bashd原创 2021-06-18 16:40:09 · 123 阅读 · 0 评论 -
php使用FPDI获取PDF内容、合并PDF文件、导入模板
使用FPDI获取PDF内容的方式FPDI内部使用了StreamReader类,它使用低级函数,如fread()或ftell()来与流交互。流读取器类提供了通过特定输入类型创建实例的静态方法。它的构造函数允许你传递任何可查找的开放流资源://资源类型获取$fh = fopen('a/path/to/a.pdf', 'rb');$pdf->setSourceFile(new StreamReader($fh));$pdf->setSourceFile($fh);fclose($fh);原创 2021-05-25 09:56:30 · 2905 阅读 · 0 评论 -
php压缩图片大小尺寸
/** * 图片压缩类 * @package App\Http\Controllers\Common */class ImgCompressor { /** * 可供压缩的类型 */ private $setting = [ 'file_type' => [ 'image/jpeg', 'image/png', 'image/gif' ] ];转载 2021-04-23 17:52:01 · 510 阅读 · 0 评论 -
ThinkPHP上线后优化
/** * 1.PHP think optimize:config 配置文件缓存 * 2.PHP think optimize:route 路由缓存 * 2.PHP think optimize:autoload 自动加载类库缓存 * 2.PHP think optimize:schema 数据表字段缓存*/原创 2021-03-26 09:37:35 · 132 阅读 · 0 评论 -
php 使用yield(生成器)极大减少运行内存,提高效率
yield的优点: PHP代码运行时节省大量的内存,比较适合计算大量的数据下面代码会生成一个很大的数组,然后存储在内存中,占用很大内存 //内存使用情况 $start = memory_get_usage(); function getData($number){ $data = []; for($i=0;$i<$number;$i++){ $data[] = $i; } return $data; }原创 2021-03-23 11:50:16 · 588 阅读 · 0 评论 -
curl Connection timed out after 10000 milliseconds
增加超时时间 curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 360); curl_setopt($curl_handle, CURLOPT_TIMEOUT, 360);也可能是解析ip时超时,加上下面代码即可 //curl执行速度慢,强制进行ip4解析 curl_setopt($curl_handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);...原创 2021-03-23 09:30:01 · 5559 阅读 · 0 评论 -
php反射机制理解,并实现类方法依赖注入和控制反转
PHP自5.0版本以后添加了反射机制,它提供了一套强大的反射API,允许你在PHP运行环境中,访问和使用类、方法、属性、参数和注释等,其功能十分强大,经常用于高扩展的PHP框架,自动加载插件,自动生成文档,甚至可以用来扩展PHP语言。由于它是PHP內建的oop扩展,为语言本身自带的特性,所以不需要额外添加扩展或者配置就可以使用。以下是详细介绍,如何使用反射机制实现类方法的依赖注入//创建一个类class Demo{ public $name= 'hua'; public fu原创 2021-02-25 11:54:30 · 214 阅读 · 0 评论 -
PHP通过反射机制实现自动依赖注入和控制反转
依赖注入又叫控制反转,使用过框架的人应该都不陌生。很多人一看名字就觉得是非常高大上的东西,就对它望而却步,今天解开他它的神秘面纱。废话不多说,直接上代码;/**** 工具类,使用该类来实现自动依赖注入。**/class Ioc { // 获得类的对象实例 public static function getInstance($className) { $paramArr = self::getMethodParams($className);原创 2021-02-25 10:10:54 · 141 阅读 · 0 评论 -
php捕获多种异常
php版本大于7.0可以用如下方式: try{ //code }catch (\Error | \Exception $e){ //处理异常 }捕获所有异常和错误 try{ //code }catch (\Throwable $e){ //处理 }原创 2021-02-23 17:25:02 · 328 阅读 · 0 评论 -
php使用redis subscribe发布订阅
Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。首先打开终端命令行执行php文件,接收消息并且执行回调方法,文件代码如下:$redis = new \Redis();$redis->connect('127.0.0.1');$redis->psubscribe(['redis'],function ($redis, $pattern, $chan, $msg){ file_put_contents('redi原创 2021-02-23 10:54:35 · 826 阅读 · 3 评论 -
nginx 504连接超时报错解决方法
修改nginx.conf配置文件增加下面三项即可fastcgi_connect_timeout 500;fastcgi_send_timeout 500;fastcgi_read_timeout 500;重启nginx原创 2021-02-22 11:46:17 · 521 阅读 · 0 评论 -
curl获取远程图片并保存到本地
curl获取远程图片$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);$r = curl_exec($ch);curl_close($ch);$fp = fopen($savePath, 'w');fwrite($fp, $r);fclose($fp);//原创 2021-01-26 09:11:50 · 547 阅读 · 1 评论 -
php生成pdf文件
php使用tcpdf库生成pdf文件首先使用composer安装所需要的类库composer require tecnickcom/tcpdf//实例化对象$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);//删除头部内容$pdf->setPrintHeader(false);//添加一个页面$pdf->AddPage();//往pdf添加一张图片原创 2021-01-20 18:50:44 · 375 阅读 · 0 评论 -
phpexcel居中 边框加粗
phpExcel //设置单元格边框 $styleThinBlackBorderOutline = array( 'borders' => array( 'allborders' => array( //设置全部边框 'style' => \PHPExcel_Style_Border::BORDER_THIN //粗的是thick ), ), );$s原创 2021-01-14 17:27:25 · 594 阅读 · 0 评论 -
phpExcel读取文件数据内容
PHPExcel读取导入文件数据内容可以使用toArray方法获取表格数据,不用循环获取 $objPHPExcel = \PHPExcel_IOFactory::load(文件名); $data = $objPHPExcel->getSheet(0)->toArray();原创 2021-01-14 17:00:16 · 912 阅读 · 1 评论