当前分类:
PHP
laravel 自定义写入日志
2024-03-30
808
1090
laravel 自定义写入日志if(!function_exists('myLog')){
/**
*生成自定义文件日志内容
*@param$data
*@paramstring$title
*@parambool$isClear
*@returnvoid
*@Author:code.newai.top
*/
functionmyLog($data,string$
systemctl 使用
2024-02-27
513
692
Systemd是Linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置。而systemctl是Systemd的主命令,用于管理系统。其实我们大部分服务都有使用systemctl管理,比如MySQL、Nginx等等。常见配置如下:[Unit]
#单元描述
Description=GFAPP
#在什么服务启动之后再执行本程序
After=mysql.service
[Serv
php redis 分布式锁
2024-02-27
903
1219
Redis 分布式锁是一种使用 Redis 数据库来实现的同步机制,用于在分布式系统中保证多个进程或线程对共享资源的互斥访问。Redis 分布式锁的基本原理是使用 Redis 的 SETNX 命令来尝试设置一个键,如果这个键不存在,那么获取锁成功,否则获取锁失败。获取锁成功后,需要设置锁的过期时间,以防止锁被永久占用。释放锁时,需要删除这个键。Redis 分布式锁有一些优点和缺点:优点:Redis
封装 laravel 的公共队列,延迟处理任务
2023-07-03
1689
2280
封装 laravel 的公共队列,延迟处理任务<?php
/**
*ThisfileispartofLunanShopTeam.
*http://code.newai.top/
*@authorhttp://code.newai.top/view/387
*/
namespaceApp\Jobs;
useException;
useIlluminate\Bus\Q
php 比较两个字符串是否相同,不同返回第一个不同字符的位置
2023-06-16
411
554
php 比较两个字符串是否相同,不同返回第一个不同字符的位置functioncompareStrings($str1,$str2){
$len1=strlen($str1);
$len2=strlen($str2);
$len=min($len1,$len2);
for($i=0;$i<$len;$i++){
if($str1[$i]!=$str2[$i]){
return$i;
php 正则获取字符串中所有图片链接地址并下载图片
2023-02-23
682
920
php 正则获取字符串中所有图片链接地址并下载图片/**
*获取图片的绝对地址
*@paramstring$content
*@returnmixed
*@Author:code.newai.top
*/
functiongetImageUrl(string$content="")
{
//$pattern="/src=[\"\'](
PHP常用正则表达式汇总
2023-02-22
472
637
PHP常用正则表达式汇总"^\d+$" //非负整数(正整数+0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数+0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
php 判断远程文件是否存在
2023-01-07
445
600
php 判断远程文件是否存在if(!function_exists('check_remote_file_exists')){
/**
*判断远程文件是否存在.
*@param$urlstringhttp或https开头的绝对地址
*@returnstring
*@Date:2020-07-3116:47:06
*@Author:code.newai.top
*/
php 验证域名是否合法
2022-11-24
559
754
/**
*验证域名是否合法
*@paramstring$domain
*@returnbool
*/
functionverify_domain(string$domain):bool
{
$res="/^(?=^.{3,255}$)(http(s)?:\/\/)(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-z
通过指针实现二维数组转换为树形结构
2022-11-23
560
756
/**
*通过指针实现二维数组转换为树形结构
*@paramarray$data数据
*@paramstring$childrenname子数据名
*@paramstring$keyName数据key名
*@paramstring$pidName数据上级key名
*@returnarray
*/
functionarray2Tree(array$data,string$childr