首页
复制
搜索
前进
后退
重载网页
和我当邻居
给我留言吧
首页
统计
关于
WOW怀旧
友链
更多
留言
壁纸
直播
Search
1
关于《杀死那个石家庄人》背后的故事
3,797 阅读
2
沈阳故宫之旅
608 阅读
3
摄影记录|鸿恩寺
562 阅读
4
赤壁赋| 知不可乎骤得,托遗响于悲风
423 阅读
5
Laravel-admin 删除行|删除回调
366 阅读
编程技术
GoLang
Vue
PHP
Linux
Redis
网络安全
生活杂记
登录
Search
标签搜索
PHP
随笔
Mysql
Laravel-Admin
Laravel
摄影
设计模式
Ab
Linux
Javascript
MAC
支付
CentOs
sh
嘉陵江
南滨路
蓝易云
redis
万能青年
累计撰写
60
篇文章
累计收到
142
条评论
首页
栏目
编程技术
GoLang
Vue
PHP
Linux
Redis
网络安全
生活杂记
页面
统计
关于
WOW怀旧
友链
留言
壁纸
直播
搜索到
23
篇与
的结果
2022-03-15
xml转数组
代码function xmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; }
2022年03月15日
72 阅读
0 评论
0 点赞
2022-03-14
laravel-admin 报错 | Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
config/filesystems.php 添加admin 文件上传配置 'admin' => [ 'driver' => 'local', 'root' => public_path('upload'), 'visibility' => 'public', 'url' => env('APP_URL').'/upload/', ],最终效果'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_KEY'), 'secret' => env('AWS_SECRET'), 'region' => env('AWS_REGION'), 'bucket' => env('AWS_BUCKET'), ], 'admin' => [ 'driver' => 'local', 'root' => public_path('upload'), 'visibility' => 'public', 'url' => env('APP_URL').'/upload/', ], ],
2022年03月14日
222 阅读
0 评论
0 点赞
2022-03-14
PHP图片旋转
代码 /* * $filename 图片地址 * $src 替换地址 * $degrees 转换度数 */ private function flip($filename='',$src='',$degrees = 90) { if(!$filename || !file_exists($filename) || !$src || !file_exists($src)){ return false; } $data = @getimagesize($filename); if($data==false)return false; //读取旧图片 switch ($data[2]) { case 1: $src_f = imagecreatefromgif($filename);break; case 2: $src_f = imagecreatefromjpeg($filename);break; case 3: $src_f = imagecreatefrompng($filename);break; } if($src_f=="")return false; $rotate = @imagerotate($src_f, $degrees,0); if(!imagejpeg($rotate,$src,100))return false; @imagedestroy($rotate); return true; }
2022年03月14日
107 阅读
0 评论
0 点赞
2022-03-14
laravel 8 自定义日志文件名|自定义目录
环境{callout color="#f0ad4e"}基于Laravel 8{/callout}代码<?php namespace App\Http\Helpers; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Route; use Monolog\Formatter\LineFormatter; use Monolog\Logger; use Monolog\Handler\StreamHandler; class LogHelper { private static $filename =''; // 文件记录类型 1:文件目录/日期/文件名 2:所有日志一个文件夹 private function __construct() { } private function __clone() { // TODO: Implement __clone() method. } /** * 设置日志文件名称 * @param $filename */ public static function setFilename($filename) { self::$filename = $filename; } /** * @param $message * @param array $data * @param string $filename * @param string $isDate 是否按月份分文件夹 */ private static function _save($message, $data = [],string $filename, $isDate = true) { $action = Route::current()->getActionName(); list($class, $method) = explode('@', $action); if (empty($filename)) $filename = !empty(self::$filename) ? self::$filename : $method; $log = new Logger('mylog'); if (PHP_SAPI == 'cli') { // 命令行访问脚本的,加一个cli标识和用户浏览器访问的区分开 $filename .= '_cli'; } $filename = $filename . '.log'; if ($isDate) { // 是否要按日显示 $path = storage_path('logs/' . date('Y-m-d')); } else { $path = storage_path('logs/'); } // 有时候运维没给号权限,容易导致写入日志失败 self::mkDirs($path); $path = $path . '/' . $filename; if (gettype($data) != 'array') { $message .= " " . $data; $data = []; } $microtime = microtime(); $message = '[' . substr($microtime, 0, 8) . '] ' . $message;// 记录毫秒时间 // finally, create a formatter $formatter = new LineFormatter("[%datetime%] %message% %context%\n", "Y-m-d H:i:s"); $stream = new StreamHandler($path, Logger::INFO); $stream->setFormatter($formatter); $log->pushHandler($stream); $log->info($message, $data); } /** * 日志打印 * @param string $message * @param array $data * @param string $filename */ public static function info(string $message,$data = [],string $filename='') { self::_save($message, $data, $filename); } /** * 给日志文件夹权限 * @param $dir * @param int $mode * @return bool */ private static function mkDirs($dir, int $mode = 0777) { if (is_dir($dir) || @mkdir($dir, $mode)) { return TRUE; } if (!self::mkdirs(dirname($dir), $mode)) { return FALSE; } return @mkdir($dir, $mode); } /** * 记录最后一条执行的sql * @param string $file_name * */ public static function sql(string $file_name='') { if (empty($file_name)) $file_name = !empty(self::$filename) ? self::$filename : __FUNCTION__.'_sql'; DB::listen(function ($sql) use ($file_name) { foreach ($sql->bindings as $i => $binding) { if ($binding instanceof \DateTime) { $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\''); } else { if (is_string($binding)) { $sql->bindings[$i] = "'$binding'"; } } } $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql); $query = vsprintf($query, $sql->bindings); LogHelper::info('sql:', $query, $file_name); }); } } 调用// 按日 按文件名 LogHelper::info('A 数组',['a','b'],'order'); // 按文件名 LogHelper::info('A 数组',['a','b'],'order'); // 只有字符串 LogHelper::info('B 字符串'); // 记录下面的执行sql LogHelper::sql(); // 输出: // [2021-04-15 11:50:37] [0.627499] sql:select * from `user` where `mobile` = '' limit 1 []
2022年03月14日
135 阅读
0 评论
0 点赞
2022-03-14
Laravel-admin 删除行|删除回调
在模型中增加protected static function booted() { static::deleting(function ($param) { $total = 1; //在这里去做逻辑判断,$param->id 可以拿到当前操作id if ($total > 0) { throw new \Exception("无法删除"); } return true; }); }
2022年03月14日
366 阅读
16 评论
0 点赞
1
2
3
4
5