首页
友链
关于
统计
推荐
阅番名录
Search
1
PL2DForTC Live2D 插件
311 阅读
2
关于我总结的一些P106-100相关的避坑指南
171 阅读
3
html 实现动态视频背景
164 阅读
4
适用于typecho的joe主题统计页面的Uptime_status
79 阅读
5
typecho 插件 php读取文件 和 筛选指定文件类型
72 阅读
默认分类
前端
后端
typecho
登录
Search
jacksen168
累计撰写
13
篇文章
累计收到
7
条评论
首页
友链
关于
统计
阅番名录
文章分类
默认分类
前端
后端
typecho
已存活
146
天
23
时
13
分
16
秒
搜索到
13
篇与
的结果
2022-08-19
typecho 插件 php读取文件 和 筛选指定文件类型
改代码是从我建站第一个项目分离出来的,也是原创本站第一个项目名为 PL2DForTCPL2DForTC 全名 PIXI Live2D For Typecho是按刚刚建站是没有能用的看板娘插件而写出来的废话不多说直接上代码{dotted startColor="#ff6c6c" endColor="#1989fa"/}function get_json_files($get_josn_files_type,$url,$file_type) { // 读取XX文件夹 $models_for_get_json_files = array(); $models_names = array(); //读取XX下所有文件夹--重组用 foreach (glob($url."/*") as $key => $value) { $models_for_get_json_files[substr($value, 32)] = substr($value, 32); $models_names[$key] = substr($value, 32); }; //读取XX下所有文件夹--检测用 $models_folders = array(); foreach (glob($url."/*") as $key1 => $value) { $models_folders[$key1] = substr($value, 32); }; $models_folder_files = array(); //读取 XX文件夹 下 所有 json文件夹下的文件 ,深度 = 1 for ($i = 0; $i < count($models_folders); $i++) { $models_folder = array(); foreach (glob($url."/" . $models_folders[$i] . "/*") as $c => $value) { $models_folder[$c] = substr($value, strlen($url."/" . $models_folders[$i] . "/")); }; $models_folder_files[$i] = $models_folder; //数组=XX文件夹*n--->单个AA文件夹*n--->文件*n }; $json_files_after_combined_with_folders = array(); //筛除非json文件--XX文件夹 for ($f = 0; $f < count($models_folder_files); $f++) { //根据XX文件夹数组长度循环 $json_files_after_combined_with_folders[$f] = ""; $L = 0; $json_files = array(); //筛除非json文件 for ($j = 0; $j < count($models_folder_files[$f]); $j++) { if (substr($models_folder_files[$f][$j], strpos($models_folder_files[$f][$j], '.'.$file_type)) === '.'.$file_type) { //判断方式:判断文件名末尾是否是'.类型' //判断:true $json_files[$L] = $models_folder_files[$f][$j]; $L++; }; }; $json_files_after_combined_with_folders[$f] = $json_files; if ($json_files_after_combined_with_folders[$f] == array()) { $json_files_after_combined_with_folders[$f] = null; }; }; if ($get_josn_files_type == 0) { //model目录下 文件/文件夹的名单 与 模组文件夹下的json文件名单重叠; return array_combine($models_names, $json_files_after_combined_with_folders); //目录文件可能很多,删除产地的所有变量减少服务器占用内存 unset($models_names, $models_for_get_json_files, $get_josn_files_type, $json_files_after_combined_with_folders, $json_files, $models_folders, $models_folder_files, $models_folder, $i, $L, $f, $j); } else if ($get_josn_files_type == 1) { //model目录文件夹名称名单 + 模型文件夹目录文件名称名单 $get_josn_files_1 = array(); $get_josn_files_1['name'] = $models_names; $get_josn_files_1['files'] = $json_files_after_combined_with_folders; return $get_josn_files_1; //目录文件可能很多,删除所有产生的变量减少服务器占用内存 unset($get_josn_files_1); unset($models_names, $models_for_get_json_files, $get_josn_files_type, $json_files_after_combined_with_folders, $json_files, $models_folders, $models_folder_files, $models_folder, $i, $L, $f, $j); } else if ($get_josn_files_type == 2) { $get_josn_files_2_i = 0; $get_josn_files_2 = array(); for ($get_josn_files_2_a = 0; $get_josn_files_2_a < count($models_names); $get_josn_files_2_a++) { if (!$json_files_after_combined_with_folders[$get_josn_files_2_a] == null) { for ($get_josn_files_2_c = 0; $get_josn_files_2_c < count($json_files_after_combined_with_folders[$get_josn_files_2_a]); $get_josn_files_2_c++) { $get_josn_files_2[$get_josn_files_2_i] = $models_names[$get_josn_files_2_a] . '/' . $json_files_after_combined_with_folders[$get_josn_files_2_a][$get_josn_files_2_c]; $get_josn_files_2_i++; } } } return $get_josn_files_2; //目录文件可能很多,删除所有产生的变量减少服务器占用内存 unset($get_josn_files_2_i, $get_josn_files_2, $get_josn_files_2_a, $get_josn_files_2_c); unset($models_names, $models_for_get_json_files, $get_josn_files_type, $json_files_after_combined_with_folders, $json_files, $models_folders, $models_folder_files, $models_folder, $i, $L, $f, $j); } else if ($get_josn_files_type == 3) { $get_josn_files_3 = array(); for ($get_josn_files_3_i = 0; $get_josn_files_3_i < count($models_names); $get_josn_files_3_i++) { if (!$json_files_after_combined_with_folders[$get_josn_files_3_i] == null) { for ($get_josn_files_3_a = 0; $get_josn_files_3_a < count($json_files_after_combined_with_folders[$get_josn_files_3_i]); $get_josn_files_3_a++) { $get_josn_files_3[$models_names[$get_josn_files_3_i] . '/' . $json_files_after_combined_with_folders[$get_josn_files_3_i][$get_josn_files_3_a]] = $models_names[$get_josn_files_3_i] . '/' . $json_files_after_combined_with_folders[$get_josn_files_3_i][$get_josn_files_3_a]; } } } return $get_josn_files_3; //目录文件可能很多,删除所有产生的变量减少服务器占用内存 unset($get_josn_files_3, $get_josn_files_3_i, $get_josn_files_3_a); unset($models_names, $models_for_get_json_files, $get_josn_files_type, $json_files_after_combined_with_folders, $json_files, $models_folders, $models_folder_files, $models_folder, $i, $L, $f, $j); } }; $data = get_json_files(1,"../XXX","json"); // get_json_files(type,url,file_type) //type = 你要获取的数据类型 //url = 你要读取文件的目录,后面不带'/'的,例如:../xxx/xxx/xx //file_type = 你要筛选出来的文件类型,如:json/zip/php/html //深度为1,例: URL = ../XXX/XXX/ 读取范围: ../XXX/XXX/所有文件夹/所有XX.文件 //输出如下: //------------------------------------type = 0 输出:花名册-------------- // Array( // [HK_3401] => Array( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [HK416_805] => Array ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [Kalina] => Array ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [M4A1_4505] => Array ( // [0] => Normal.model3.json // ) // [Pio] => Array ( // [0] => Model.json // ) // [新建文件夹] = null // [PL2DForTC.md] = null // [和泉纱雾] => Array ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // ) //--------------------------------typr = 1 输出:文件夹名单和文件夹内json文件名单-------------- // Array // ( // [name] => Array // ( // [0] => HK416_3401 // [1] => HK416_805 // [2] => Kalina // [3] => M4A1_4505 // [4] => Pio // [5] => 新建文件夹 // [6] => PL2DForTC.md // [7] => 和泉纱雾 // ) // [files] => Array // ( // [0] => Array // ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [1] => Array // ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [2] => Array // ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // [3] => Array // ( // [0] => Normal.model3.json // ) // [4] => Array // ( // [0] => Model.json // ) // [5] => null // [6] => null // [7] => Array // ( // [0] => Normal.model3.json // [1] => Normal.physics3.json // ) // ) // ) //-------------------------------type = 2 输出:筛选出json文件(URL)-------------------------------- // Array // ( // [0] => HK416_3401/Normal.model3.json // [1] => HK416_3401/Normal.physics3.json // [2] => HK416_805/Normal.model3.json // [3] => HK416_805/Normal.physics3.json // [4] => Kalina/Normal.model3.json // [5] => Kalina/Normal.physics3.json // [6] => M4A1_4505/Normal.model3.json // [7] => Pio/Model.json // [8] => 和泉纱雾/Normal.model3.json // [9] => 和泉纱雾/Normal.physics3.json // ) //-------------------------------type = 3 输出:筛选出json文件(URL+花名册)-------------------------------- // Array // ( // [HK416_3401/Normal.model3.json] => HK416_3401/Normal.model3.json // [HK416_3401/Normal.physics3.json] => HK416_3401/Normal.physics3.json // [HK416_805/Normal.model3.json] => HK416_805/Normal.model3.json // [HK416_805/Normal.physics3.json] => HK416_805/Normal.physics3.json // [Kalina/Normal.model3.json] => Kalina/Normal.model3.json // [Kalina/Normal.physics3.json] => Kalina/Normal.physics3.json // [M4A1_4505/Normal.model3.json] => M4A1_4505/Normal.model3.json // [Pio/Model.json] => Pio/Model.json // [和泉纱雾/Normal.model3.json] => 和泉纱雾/Normal.model3.json // [和泉纱雾/Normal.physics3.json] => 和泉纱雾/Normal.physics3.json // )
2022年08月19日
72 阅读
0 评论
0 点赞
2022-08-18
PL2DForTC Live2D 插件
本站首发项目: PL2DForTC插件{dotted startColor="#ff6c6c" endColor="#1989fa"/}PL2DForTC全名PIXI Live2D display for typecho顾名思义就是typecho 的一款Live2D插件与以往常见博客上的Live2D不同,该插件使用了PIXIJS渲染引擎,和PIXI Live2D display.js宽展库对Live2D进行渲染和交互。该插件支持常见的Moc/Moc3骨骼模型,和Json预设动作/物理/配置文件。是一款扩展性十分强大的Live2D Typecho博客插件。{dotted startColor="#ff6c6c" endColor="#1989fa"/}当前最新版本: V0.6.1插件不需要任何依赖。{dotted startColor="#ff6c6c" endColor="#1989fa"/}要求浏览器: WebGL, ES6Typecho版本: >= 1.2.0{dotted startColor="#ff6c6c" endColor="#1989fa"/}使用方法Star 本项目下载本插件将插件文件夹重命名为 PL2DForTC上传本插件,并放置在 usr/plugins/ 目录下登录你的 Typecho 后台,找到 PL2DForTC 选择启用插件{dotted startColor="#ff6c6c" endColor="#1989fa"/}项目内核PIXI Live2D display.jsPIXI.js{dotted startColor="#ff6c6c" endColor="#1989fa"/}{dotted startColor="#ff6c6c" endColor="#1989fa"/}项目相关本项目经 PIXI Live2D display.js 库作者 @guansss 同意下开发本项目经 pio 插件作者 奇趣保罗 的测试反馈{dotted startColor="#ff6c6c" endColor="#1989fa"/}开发缘由当初奇趣保罗 的插件 pio 并不支持第三代 Live2D 模型,联系了保罗。保罗似乎对兼容v3模型并没有打算,另外一个人开发的对Typecho live2d v3模型 看板娘的适配并不友好。便开发这款插件。{dotted startColor="#ff6c6c" endColor="#1989fa"/}开源协议本项目采用 MIT 开源协议进行授权。{dotted startColor="#ff6c6c" endColor="#1989fa"/}感谢PIXI Live2D display.js 库作者 @guansss 的支持奇趣保罗 的测试反馈{dotted startColor="#ff6c6c" endColor="#1989fa"/}{callout color="#0efb2a"}PL2DForTC v0.6.1更新内容修复设置页面的js会修改typecho主页内容的bug下载PL2DForTC_v0.6.1 : Two models included(默认:内涵两个模型)PL2DForTC_v0.6.1_One_models_included : One models included(内涵一个模型)PL2DForTC_v0.6.1_Five_models_included : Five models included(内涵5个模型)PL2DForTC_v0.6.1_Model_not_included : Model not included(不涵模型){/callout}链接{lamp/}{cloud title="本站下载" type="default" url="https://qiniu.jacksen168.top/PL2DForTC_v0.6.1.zip" password=""/}{lamp/}{cloud title="Github仓库" type="github" url="https://github.com/jacksen168/PL2DForTC" password=""/}{lamp/}
2022年08月18日
311 阅读
5 评论
3 点赞
2022-08-13
Hello World!
Hello World!本站于2022年8月13日0:00建成,为开源社区做贡献
2022年08月13日
45 阅读
0 评论
0 点赞
1
2
3
开启动态视频
开启live2D
开启帧数显示