自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

原创 宝塔centOs添加node环境变量

ln -s /www/server/nodejs/v14.17.6/bin/node /usr/bin/nodeln -s /www/server/nodejs/v14.17.6/bin/npm /usr/bin/npm

2024-09-27 09:49:49 504

原创 php中时间段查询时间段

只要查询数据表中的开始日期小于等于搜索条件中的结束日期,并且查询数据表中的结束日期大于等于搜索条件中的开始日期即可。

2023-11-02 17:31:54 499

原创 php中使用Imagick转换PDF第一页为PNG图片并且识别出二维码

经过在实际项目中测试,当使用php版本为7.4.3时需要使用对应的扩展版本为khanamiryan/qrcode-detector-decoder: 1.0.5.2,以下为在项目中安装使用方法。

2023-10-10 10:37:54 696 1

原创 php中根据当前节点数据获取根节点数据的方法

有时候需要进行数据遍历,由当前节点去查询根节点数据,下面介绍一种递归查询方法。/*** 获取当前节点的根节点,无论有多少层,都可以查到根节点* @param $array 分类表中的所有的分类数据* @param $id 当前所要查询的id//定义一个静态的变量数组 static $data = array();

2023-04-28 09:28:43 251 1

原创 php中使用最大余额法解决百分比计算相加不等于100%的问题

在开发项目的过程中有时候需要进行计算百分比,例如计算饼状图百分比。有时候在计算的过程中常规四舍五入计算会发生所有计算的值相加不等于100%的情况。if(!/*** 最大余额法,解决百分比计算相加不等于100%(扇形/饼图百分比使用的此算法)* @param array $valueList 二维数组 [['value' => 1],['value' => 2],['value' => 3]]* @param string $contKey 要统计的字段。

2023-01-30 16:57:36 1445

原创 php中分层数据转树结构(数据不去重)并且带有level层级

在项目开发的过程中有时候需要对数据进行数据转换,这里介绍一种对层级数据转换为树结构数据并且不对重复数据进行去重,并且带有level层级字段。if(!/*** 分层数据转树结构(不去重)并且带有level* @param [type] $data 列表数据* @param string $child 子级* @param integer $pid 父级id* @param integer $level 层级} }使用方法直接进行调用即可,id和pid表示父子级关系。

2023-01-30 16:38:15 231

原创 php中使用递归算法获取层级树当前节点下的无限级父节点

既然有从父级节点获取所有的子级节点,当然也有从子级节点获取所有的父级节点,思路都是使用递归算法。

2022-07-04 10:15:49 771

原创 php中使用递归算法获取层级树当前节点下的无限级子节点

有时候在项目开发的过程中会遇到查询层级树某一个节点下的所有子级节点的问题,这里记录一种递归算法,快速获取所有的子级节点数据到一个一维数组中。

2022-07-04 10:01:10 983

原创 pm2简单使用和守护进程

1.安装nodejs2.安装pm23.检查是否成功安装二、使用1.守护程序/脚本2.守护线程/进程3.开机自启全部守护完后想要开机就自动运行吧,毕竟一条一条去启动还是很麻烦的。4.停止不想开机自启的5.保存当前列表启用的服务6.将刚才保持列表中启动的服务加入开机自启7.如何删除开机自启(不能单独删除某项)三、故障排除1.检查是否是管理员模式,若不是:2.更新指令库3.卸载四、其他升级pm2...

2022-06-30 15:51:34 2698

原创 在php的开发环境中如何调取WebService?

一.前言:大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分。但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用?  当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),这里主

2022-05-17 16:46:38 1564

原创 搭建frp进行内网穿透

前言:为什么需要内网穿透功能?从公网中访问自己的私有设备向来是一件难事儿。自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等),一般来说要通过一些转发或者P2P组网软件的帮助。我有一台计算机位于一个很复杂的局域网中,我想要实现远程桌面和文件访问,目前来看其所处的网络环境很难通过简单的端口映射将其暴露在公网之中,我试过这么几种方法:远程桌面使用TeamViewer。可用,但需要访问

2022-05-16 15:59:24 31480 14

原创 MySQL中的正则表达式

前言有时候使用MySQL进行数据库查询数据的时候,like查询存在局限性,这时候就可以使用MySQL中的正则表达式查询的方式。正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较。从文本文件中提取电话号码查找名字中间带有数字的文件文本块中重复出现的单词替换页面的URL为这些URL的实际链接(一个或两个正则表达式)LIKE和REGEXP的区别LIKE匹配整个列(like是模糊查询),如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不

2022-04-15 10:44:32 4994 1

原创 php中根据数字月份返回月份的英文缩写

前言在项目开发的过程中有时候需要对月份进行英文转换。 /** * 获取月份缩写 * @param string $month 月份 */ function get_month_abbr($month) { $month = (int) $month; $monthEng = [ 1 => "Jan", 2 => "Feb", 3 =&gt

2021-09-14 14:24:05 1158

原创 php中生成随机的6位邀请码

前言在系统开发的过程中有时候需要在用户注册的时候输入邀请码,这里分享一种快速生成邀请码的方法。 /** * 生成邀请码 * @param unitCode */ function create_invite_code($unitCode, $len = 3) { $arr = ["1", "2", "3", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H",

2021-09-14 14:10:36 1749

原创 php中时间戳转换为毫秒以及格式化时间

前言有时候需要对时间戳进行操作,比如获取13位毫秒级的时间戳或者对时间戳进行格式化时间。 /** * 转化时间为毫秒时间戳 * @param int|string $time 时间戳|日期 * @return int */ function get_time($time) { if (is_numeric($time)) { return (int) str_pad($time, 13, "0", ST

2021-09-14 13:58:25 2971

原创 php中在二维数组中根据值返回对应的键值

前言在进行数组操作的时候有时候需要根据数组中的值找寻对应的键值,这里分享一个方法,可以快速的根据二维数组中的值找寻对应的键值。 /** *根据值返回对于的key 键名 *@param $search[string] 搜索的值 *@param $array[array] 被搜索的数组 *@return 找到返回键名 未找到返回false */ function deep_get_key($search, $arr) {

2021-09-14 13:53:11 1253

原创 php中计算树状结构数据中的合计

前言在项目开发的过程中有时候遇到树状结构数据计算从最末级节点依次计算到根节点中所有数据值的和,也就是计算子级节点数据相加等于父级节点,以此类推到根节点。下面的方法使用到了递归查询计算的方法。树状结构数据示例:$tree = [ 0 => [ "Code" => "1", "PCode" => "", "num" => 1, "Price" => 2, "children" =>

2021-09-10 16:47:57 471

原创 php中的二维数组去重

前言有时候在数据库进行join关联查询数据的时候会查询出一些重复的数据需要进行手动去重操作,避免返回到列表中出现重复的数据。/** * 1.删除二维数组中相同项的数据,一般用于数据库查询结果中相同记录的去重操作 * 2.重置一下二维数组的索引 * @param array $_2d_array 二维数组,类似: * $tmpArr = array( * array('id' => 1, 'value' => '15046f5de5bb708e'), *

2021-09-07 17:34:53 3278

原创 php中的数字金额转换大写数字

前言有时候需要进行数字金额与大写汉字金额的转换,网上虽然有很多的方法,但是大多都很混乱,这里整理一个现在在使用、感觉还不错的方法。 /** * 数字金额转换大写数字 * @param [float] $num 数字类型 * @return void */ function convert_case_number($num) { //转换数字类型 $num = (float) $num; //判断

2021-09-07 16:55:09 454

原创 php中判断版本号是否连续

前言在做excel数据导入到数据库表的过程中需要验证excel中的版本号一栏中的版本号是否连续。版本号格式:1,1.1,1.2,1.2.1,2,2.1,2.2,2.2.1(正确)版本号格式:1,1.1,1.1,1.2.1,2,2.1,2.2,2.2.1(错误)版本号格式:1,1.2,1.1,1.2.1,2,2.2,2.1,2.1.1(错误)这里需要用到php中的字符串函数,strpos,strrpos,substr。 /** * 判断编号是否连续,编号格式:1,1.1,1.2,1

2021-09-07 16:46:05 178

原创 php中计算两个日期之前相差多少天、月、年

前言最近在开发项目的过程中遇到需要计算两个日期之间相差了多少天、多少月、多少年,下边总结了一种计算方法,供大家参考。解决办法/** * 计算两个日期之前相差多少天/月/年 * @param string $start_time 开始日期 * @param string $end_time 结束日期 * @param int $type 类型(1:相差天数,2:相差月数,3:相差年数) */function get_count_form_date($start_time, $end_time

2021-07-01 15:26:57 1103 1

原创 php中删除指定文件夹下的内容

前言在之前做远程文件下载到本地然后打包下载的功能中存在文件重复的问题,导致下载的压缩中有之前下载过的文件,下边介绍一种方法可以在下载之前删除指定文件夹中的文件,保证每次都是最新的文件。解决方法 /** * 删除指定文件夹下的内容 * @param $dirname * @param boolean $self * @return void */ function do_rmdir($dirname, $self = false)

2021-06-22 17:00:37 329 3

原创 php中在树状数据结构中获取从子级节点到根节点的所有节点数据

前言在处理树状结构数据中,有时候需要查询从子级节点到根节点的所有节点数据。例如:$tree = [ [ "id" => 1, "pid" => 0, "title" => "湖北省", "children" => [ [ "id" => 2, "pid" => 1, "title

2021-06-21 17:00:59 801

原创 php中树形结构转数组(拉平树结构,保留上下级排序)

前言在做php中树形结构转数组的功能中有时候需要把树结构直接拉平按照树结构的顺序按照由上到下排列,这时候就需要另外一种处理方法了。解决办法//树结构数据转数组(拉平树结构,保留上下级排序)function treeToList($arr, $pid = 0){ $array = array(); foreach ($arr as $val) { $inData = array( "key" => $val["key"],

2021-06-17 16:00:18 725 1

原创 php中获取汉字拼音大写首字母

前言在做项目开发的工程中遇到了要把一串中文字符串返回大写首字母的功能,在借鉴网上其他开发者的方法以后整理了一下最好用的一种方法。问题描述需要把【下游堆石区】转换成【XYDSQ】。方法示例 if (!function_exists('getfirstchar')) { /** * 获取汉字拼音大写首字母 * @param [type] $str * @return void */ funct

2021-06-17 15:30:27 362

原创 php中通过集合collect的方法来实现把某个值插入到数组中指定的位置

需求分析最近在项目开发的过程中遇到列表中的排序要求按照能上下拖动的方式进行重新排序,例如:A,B,C,D,E。现在要把F插入到C后边,然后按照A,B,C,F,D,E进行排序。解决方案经过各种方法的尝试,发现通过集合collect中的一些方法可以快速的实现这个功能。Thinkphp框架中和PHP原生项目可以直接通过composer安装。Laravel8中自带集合Illuminate\Support\Collection方法而可以直接进行使用。//安装集合collect方法composer requ

2021-06-17 15:10:26 1220

原创 Laravel8中的find_in_set、upsert的使用方法

前言在laravel8中有时候需要使用FIND_IN_SET原生MySql语句,精准查询特殊字符串是否存在指定字符串中 解决like无法精准匹配问题。例如:type字段,type = 1,11,111。type = 2,22,222。采用like模糊查询的时候无法做到精确匹配,就需要用到FIND_IN_SET精确匹配查询。用法//DB::table('表名')->whereRaw('FIND_IN_SET(?,字段名)',[需要查询的字符串])->get();$type = 1;//

2021-06-01 16:13:55 3797 3

原创 Thinkphp5中一个字段对应多个模糊查询

前言最近在开发项目的时候遇到过一个查询条件:需要对一个字段进行多个模糊查询。解决办法 public function getGroupUser($title) { //多个where条件查询 $condition = ['建设单位','监理单位','数字化单位']; $where_supervisor['title'] = array('or'); foreach ($condition as $value) {

2021-06-01 15:45:13 786

原创 Laravel8中保存远程文件到本地文件夹并且打包下载该文件夹中的所有文件

前言最近在项目开发的过程中需要对远程服务器上的文件进行打包下载,由于没有找到其他的方法,暂时想到一种思路来实现功能。1.先把远程服务器上的文件保存到本地服务器上的指定文件夹中。2.对该文件夹进行压缩下载其中的所有文件。实现方式1.安装 guzzle 组件。安装 guzzle 组件需要先安装 composer安装composer2.使用 composer 安装 guzzlephp composer.phar require guzzlehttp/guzzle或者composer r

2021-05-25 15:02:46 2325 3

原创 php中过滤字符串只保留汉字、字母、数字,去除空格和其他字符

需求:根据用户输入内容,通过正则过滤出字符,输出汉字、字母、数字,去除空格和其他字符。例如:"T EST-001- 测试 合同编号-9 99-co nect-测试测试111 ",过滤空格和其他字符以后,输出:TEST001测试合同编号999conect测试测试111。分析:采用正确的正则表达式方法,过滤出字符串之中的空格和其他字符,只输出汉字、字母、数字。代码实现 function get_filter_str($str) { preg_match

2021-05-17 10:38:45 2407

原创 php中判断版本号是否正确

需求:根据用户输入内容,通过正则判定该内容是否符合规定的版本号格式正确版本号格式为:以数字开头和结尾,数字之间可以用 `.` 连接,但不能连续出现两个及两个以上的点正确版本号示例: 0 0.1 0.1.1 1 1.1 1.1.1 2 2.1 2.1.1 ... 错误版本号示例: 0.. 0..1 1..1 1.0. 1.0..2 ...分析:1.首先对传入的字符串进行是否有两个及以上连续的点出现,若有则版本号不正确,若没有则进入第二步判断。2.首先以 1

2021-05-17 10:15:06 942 1

原创 php中sprintf使用bug

前言最近在用sprintf函数进行四舍五入数据处理的时候的时候,发现一个问题。echo sprintf('%.2f',123.455); //123.45echo sprintf('%.2f',12.455);//12.46上面的sprintf(’%.2f’, $str)是被常认为的四舍五入,但是两个结果截然不同,按照正常情况应该是是输出X.46才对,怎么一个X.46一个X.45呢。sprintf(’%.2f’, $str) 的“四舍五入”输出的问题在php中sprintf经常被用来格式字符串

2021-04-12 10:14:10 805

原创 Laravel8中判断数据库查询出来的数据是否为空

前言在项目开发的过程中有时候需要进行数据库查询验证结果是否为空,不然后续操作会出现报错的问题。//1.使用内置方法 isEmpty()$userItems = User::where('id',1)->get();if ($userItems->isEmpty()) {}//2.使用内置方法 count() 检查有没有记录if (User::where('id',1)->count() > 0) {}//3.使用内置方法 exists() 建议使用该方法$us

2021-03-24 13:55:32 1042

原创 php中截取字符串返回前边部分或者后边部分

前言在项目开发的过程中有时候需要进行字符串的截取并且根据情况需要返回前边部分后者后边部分。方法<?php$a = '123_abc';$front = substr($a, 0, strrpos($a, '_'));$after = substr($a, strripos($a, '_') + 1);echo $front; //输出123echo $after; //输出abc...

2021-03-19 09:55:25 797

原创 Windows10+PHP7.4.3环境下安装imagick扩展和imagemagick

前言最近在项目开发的工程中更换了 php 的版本为 php7.4.3,需要重新进行 imagick 扩展和 imagemagick 的安装,以便进行处理文件的相关操作。1.查看当前 php 的版本通过访问 http://127.0.0.1/phpinfo.php 进行 php 版本的查看。2.安装 imagick 扩展扩展的下载地址为:https://windows.php.net/downloads/pecl/releases/imagick/3.4.4/将压缩包下载下来以后进行解压,将

2021-03-10 13:36:40 2867 1

原创 如何修改php的版本

前言在项目开发的过程中有时候需要切换cli中php的版本,那么该如何进行切换呢?1.查看php的版本2.修改计算机环境变量中php中的路径修改为所需要的php版本即可,路径指向php的安装路径。3.重启计算机,不然大概率不会立即生效。重启后查看php的版本。...

2021-03-10 09:50:22 1942

原创 opcache缓存设置

前言在 php7.4 版本中有缓存设置,在项目开发的过程中会影响代码调试。opcache.enable 启用操作码缓存,默认为“1”如果禁用此选项,则不会优化和缓存代码。 在运行期使用 ini_set() 函数只能禁用 opcache.enable 设置,不可以启用此设置。 如果在脚本中尝试启用此设置项会产生警告。opcache.enable_cli 仅针对 CLI 版本的 PHP 启用操作码缓存。通常被用来测试和调试。opcache.revalidate_freq=0 检查脚本时

2021-03-05 14:25:31 1056

原创 php中使用Fpdf、Fpdi类库合并PDF文件或者合并PNG图片生成新的PDF文件

前言最近遇到了需要把多个PDF文件合并成一个PDF文件、把PNG格式的图片合并生成一个新的PDF文件的需求。解决办法是采用Fpdi类库来实现。 * composer命令安装:composer require setasign/fpdf * composer命令安装:composer require setasign/fpdi<?php//档案管理中的公用方法//引入加载PDF合成多个PDF的扩展vendor('setasign.fpdi.autoload');use setasig

2021-03-01 15:28:00 2207

原创 php中使用Imagick扩展方法转换PDF格式的文件为PNG图片

前言:需求中需要对PDF文件做一下操作把PDF文件转换成PNG图片方便后续操作。//pdf文件转png图片function pdf2png($pdf, $path, $page = 0){ $im = new Imagick(); $im->setResolution(120, 120);//设置图像分辨率 $im->setCompressionQuality(100);//压缩比 $im->readImage($pd

2021-03-01 13:41:14 406

原创 php中使用Imagick扩展方法转换TIF格式的文件为PNG图片

前言:最近遇到在页面端预览TIF格式的文件,直接没有办法预览,需要转换成图片的格式进行预览,经过测试以后转换成PNG格式的图片效果最好。//tif文件转png,其实就是使用了Imagick转换了一下文件的格式。//$filename tif文件的地址。function tif2png($filename){ $filepath = pathinfo($filename)['dirname'] . '\\'; $filename = pathinfo($filename)['base

2021-03-01 11:51:48 710

gs922w64.zip

php 中使用 imagick 把 PDF 文件转成 PNG 图片的时候必备软件。

2021-03-10

ImageMagick 7.0.7 Q16 (64-bit) Setup.zip

ImageMagick 7.0.7 Q16 (64-bit)安装包

2021-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除