Author: admin

Laravel 的 ORM 缓存包

LaraCache是一个基于 ORM 的 Laravel 包,用于基于模型查询创建、更新和管理缓存项。使用此包,您可以缓存在整个应用程序中大量使用的查询。

use Mostafaznv\LaraCache\Traits\LaraCache;
 
class Article extends Model
{
    use LaraCache;
 
    public static function cacheEntities(): array
    {
        return [
            CacheEntity::make('list.forever')
                ->cache(function() {
                    return Article::query()->latest()->get();
                }),
 
            CacheEntity::make('latest')
                ->validForRestOfDay()
                ->cache(function() {
                    return Article::query()->latest()->first();
                })
        ];
    }
}

使用该

                

PHP监控一个进程是否在运行的方法

PHP监控一个进程是否在运行的方法

 

exec("pgrep lighttpd", $pids);
if(empty($pids)) {

    // lighttpd is not running!
}

pgrep -f  全名匹配.

 

$mabbitmq=shell_exec("pgrep [r]abbitmq"); //https://stackoverflow.com/questions/51551908/why-is-the-result-equal-to-0-and-sometimes-1-shell-execpgrep-f
$mabbitmq = str_replace(PHP_EOL, '', $mabbitmq);
$mongodb=shell_exec("pgrep [m]ongo");
$mongodb = str_replace(PHP_EOL, '', $mongodb);
$ydmcuclient=shell_exec("pgrep -f [y]dmcu_client");
$ydmcuclient
        

原生php递归删除文件+文件夹

原生php递归删除文件+文件夹

<?php
function deldir($dirname){
  if(file_exists($dirname)) {//判断是否存在文件夹
    $dir=opendir($dirname);//打开文件夹
    while($filename=readdir($dir)){//读取123文件夹里面的数据
      if($filename!="." && $filename!=".."){//除去.并且..除外
        $file=$dirname."/".$filename;
          if(is_dir($file)){
            deldir($file); //使用递归删除子目录,就是说判断123文件夹里面有没有文件夹,如果有遍历然后删除
          }else{
            echo '删除文件<b>'.$file.'</b>成功<br>';
            unlink($file);
          }
      }
  }
  closedir($dir);
  echo '删除目录<b>'.$dirname.'</b>成功<br>';
  rmdir($dirname);
  }
}
deldir('D:3');//比如文件在d盘的123目录下
?>

 

js禁止鼠标右键及禁止F12查看源代码

F12审查元素的情况下,可以随机更改代码,注入恶意JS等等,避免这种情况如下:

一、屏蔽F12 审查元素

<script>
    document.onkeydown = function () {
        if (window.event && window.event.keyCode == 123) {
            alert("F12被禁用");
            event.keyCode = 0;
            event.returnValue = false;
        }
        if (window.event && window.event.keyCode == 13) {
            window.event.keyCode = 505;
        }
        if (window.event && window.event.keyCode == 

linux – 查看/修改文件的修改时间

1. 查看文件的时间

文件时间有三种:

最近访问时间(Access):cat、less等查看文件后,该时间改变

最近更改时间(Modify):vim修改文件内容后,三个时间都改变

最近改动时间(Change):chmod修改文件权限或属性后,该时间改变

  • stat 命令,查看文件的状态
stat 3.log  //查看某个文件的状态
stat *   //查看这个目录下所有文件及文件夹的状态(不递归)
  • ll --time命令 (不带–time,默认是mtime)
ll --time=atime  //查看访问时间
ll --time=ctime  

js格式化时间戳

//datetime是拿到的时间戳
var date = new Date(datetime);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 
var year = date.getFullYear(),
    month = ("0" + (date.getMonth() + 1)).slice(-2),
    sdate = ("0" + date.getDate()).slice(-2),
    hour = ("0" + date.getHours()).slice(-2),
    minute = ("0" + date.getMinutes()).slice(-2),
    second = ("0" + date.getSeconds()).slice(-2);
// 拼接
var 

字体TTF、TOF、WOFF 和 WOFF2的区别

TTF(TrueType Font)


TrueType是由美国苹果公司和微软公司共同开发的一种电脑轮廓字体(曲线描边字)类型标准。
这种类型字体文件的扩展名是 .ttf,类型代码是tfil
TrueType的主要强项在于它能给开发者提供关于字体显示、不同字体大小的像素级显示等的高级控制。

OTF(OpenType Font)


OpenType 是 Adobe 和 Microsoft 联合开发的跨平台字体文件格式,也叫 Type 2 字体,它的字体格式采用 Unicode 编码,是一种兼容各种语言的字体格式。
OpenType 也是一种轮廓字体,比TrueType 更为强大,并且还支持多个平台,支持很大的字符集,还有版权保护。可以说它是Type 1和 TrueType 的超集。
OpenType标准定义了 OpenType 文件名称的后缀名:

  • 包含 TrueType 字体的 OpenType 文件后缀名为

在用户离开页面时可靠地发送 HTTP 请求

HTTP在某些情况下,当用户执行诸如导航到不同页面或提交表单之类的操作时,我需要发送带有一些数据的请求以进行记录。考虑这个在点击链接时向外部服务发送一些信息的人为示例:

<a href="/some-other-page" id="link">Go to Page</a>

<script>
document.getElementById('link').addEventListener('click', (e) => {