2023-01-03 ThinkPHP6 excel表导入导出 ThinkPHP6 excel表导入导出 composer下载phpspreadsheetcomposer require phpoffice/phpspreadsheet PhpSpreadsheet中文简介phpexcel由于版本陈旧性能低下官方放弃维护,转而开发PhpSpreadsheet用了最新得psr标准因而对php版本不向下兼容需要注意!PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到使用PhpSpreadsheet开发的PHP要求7.1或更高版本,并且支持链式操作PhpSpreadsheet 支持的文件格式文件路径extend/Excel.php<?php use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice... 2023年01月03日 214 阅读 0 评论
2023-01-03 HTML中的字符实体 HTML中的字符实体 提示:需要把\去掉!字符说明字符实体名实体编号"双引号\"\"'撇号\'(IE不支持)\'<小于号\<\<>大于号\>\>&和号\&\&©版权(copyright)\©\©®注册商标\®\®™商标\™\™×乘号\×\×÷除号\÷\÷£镑(pound)\£\£¥元(yen)\¥\¥ 竖条 \|§小节\§\§Empty space不间断空格\ \ €欧元(euro)\€\€ 中文全角空格\&\ ·... 2023年01月03日 212 阅读 0 评论
2022-12-28 MySQL 小数类型 MySQL 小数类型 定点数decimal能够保证数据精确的小数(小数部分可能不精确,超出长度会四舍五入),整数部分一定精确decimal(M, D), M表示总长度,最大值不能超过65,D代表小数部分长度,最长不能超过30浮点型又称为精度类型,是一种可能丢失精度的数据类型,数据可能不那么准确float 单精度类型4字节存储,7位精度,表示数据范围比整数大得多float 表示不指定小数位的浮点数float(M, D)表示一共存储M个有效数字,其中小数部分占D位double 双精度类型8个字节存储,表示范围更大,精度有15位左右double 表示不指定小数位的浮点数double(M, D)表示一共存储M个有效数字,其中小数部分占D位如何选择当需要存储的小数对精度要求不高时,可以选择FLOAT单精度浮点型,可以节省内存空间,提高计算速度。当需要进行高速数学计算、科学计算、卫星定位计算等对精度要求较高时,可以选择DOUBLE双精度浮点型。当需要进行精确计算,如工资结算、转账打款等财务类型的数据,可以选择DECIMAL定点型。 2022年12月28日 245 阅读 0 评论
2022-12-23 ThinkPHP6使用DOMDocument报错 ThinkPHP6使用DOMDocument报错 每一个载入浏览器都会生成一个 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。Document 对象是 Window 对象的一部分。我们项目中需要使用第三方支付,第三方支付文件使用了DOMDocument,如果直接使用DOMDocument的话会报错解决方法只需要在DOMDocument加上一个反斜杠就可以了$dom = new \DOMDocument(); $dom->loadXML($data); 2022年12月23日 263 阅读 0 评论
2022-12-16 ThinkPHP6使用阿里云短信服务 ThinkPHP6使用阿里云短信服务 使用composer安装sdkcomposer require alibabacloud/sdk 新建一个控制器文件或者放到共用文件<?php namespace app\api\controller; use app\BaseController; use AlibabaCloud\Client\AlibabaCloud; class Sms extends BaseController { public function index() { $phone = input('phone'); if(!$phone){ echo '请传入手机号'; }else if(!$this->validatePhone($phone)){ echo '手机号格式错误'; }else{ $res = $this->sendCode($phone); if($res === true){ ... 2022年12月16日 356 阅读 0 评论
2022-12-08 Fiddler中文版抓包工具 Fiddler中文版抓包工具 抓包工具有很多种,如Wireshark、Fiddler、Charlse、Tcpdump、浏览器工具(F12)等,但在软件测试工作中抓包对象一般是HTTP协议的接口,所以最多的是浏览器工具、Fiddler/Charlse。Fiddler特点简单归纳如下Fiddler能抓取客户端和服务器之间的HTTP/HTTPS请求,可以对接口请求设置断点,甚至修改输入输出数据Fiddler只能抓取HTTP/HTTPS协议Fiddler除能对PC端浏览器抓包外,还支持对移动端进行抓包查看数据允许远程计算机连接允许捕获HTTPS连接APP/手机浏览器抓包1、设置手机网络代理注意:手机必须与电脑连接的是同一个网络,即连同一个WIFI或手机直接连电脑的热点,再对这个网络进行代理设置,否则无法抓取数据。2、手机安装证书在手机上选择任意浏览器,输入第二步中的设置的代理地址,host为即Fiddler安装电脑的IPv4地址,端口号即为默认的8888,然后下载证书安装会话窗口图标说明最后重启一下Fiddler就可以了下载地址:https://zhizun.lanzouy.com/iV7Sw0i4pd4f 2022年12月08日 280 阅读 0 评论
2022-11-19 VSCode实用插件 VSCode实用插件 一、必备插件(web前端/PHP)Chinese(中文)HTML Snippets(代码提示)HTML CSS Support(智能提示CSS类名以及id)Auto Close Tag(自动闭合标签)Auto Rename Tag(自动重命名 HTML 标签的开始和结束标签)CSS Peek(选择某个 class 或者 id 名称按住Ctrl键+鼠标左键可以直接定位到该名称的CSS的位置)Markmap(思维导图神器,.md文档编辑窗口的右上角就会多一个预览的图标Open as markmap,当然也可手动打开命令面板,输入Open as markmap)css-auto-prefix(自动添加 CSS 私有前缀)JavaScript (ES6) code snippets(智能提示与快速输入)jQuery Code Snippets(jQuery代码智能提示)cssrem(px转换成rem,Font Size:填写设计稿的宽度/10)需要在head引用lib-flexible:https://zhizun.lanzouy.com/iq8cDzuud2f<script>... 2022年11月19日 401 阅读 0 评论
2022-11-16 ThinkPHP6使用扩展类库 ThinkPHP6使用扩展类库 在使用thinkphp6时,经常要引用第三方类库,比如upload.php类,在框架根目录下的 extend 目录称为 扩展类库目录,用于存放一些自定义的类,只要符合自动加载的规范(命名空间、类名、文件名),就可以拿来直接使用。1. extend 目录的直接子内容假设在 extend 目录下创建一个 Upload.php 文件,如果是 extend 目录的直接子内容则不需要添加命名空间<?php class Upload { } 此时可以在控制器中直接使用 \Upload 类,特别注意命名空间2. 带层级的类假设在 extend/file 目录下创建一个 Upload.php 文件,此时需要添加命名空间<?php namespace file; class Upload { } 此时可以在控制器中直接使用 \file\Upload 类// 测试 dump(new \Upload()); dump(new \file\Upload()); 2022年11月16日 298 阅读 0 评论
2022-11-14 PHP实现文件缓存 PHP实现文件缓存 Cache.class.php<?php class Cache { /** * 缓存目录 * @var */ private $cache_dir; /** * @param $cache_dir * @throws Exception */ public function __construct($cache_dir) { $this->cache_dir = $cache_dir; if (!is_dir($cache_dir)) { $make_dir_result = mkdir($cache_dir, 0755, true); if ($make_dir_result === false) throw new Exception('Cannot create the cache directory'); } } /** * 根据k... 2022年11月14日 291 阅读 0 评论
2022-11-04 PHP生成文件并下载文件 PHP生成文件并下载文件 <?php header("Content-Type: application/octet-stream"); $filename = "1.txt"; $content = '这里是需要生成文件的内容'; $ua = $_SERVER["HTTP_USER_AGENT"]; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20", $encoded_filename); if (preg_match("/MSIE/", $ua)) { header('Content-Disposition: attachment; filename="' . $encoded_filename . '"'); } else if (preg_match("/Firefox/", $ua)) { hea... 2022年11月04日 361 阅读 0 评论