在线工具：base64图片在线转换工具 - 站长工具在线图像转Base64 - 码工具Markdown使用：![Alt Text](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA...很长很长的编码字符串...AAAElFTkSuQmCC)或者，为了保持Markdown的整洁性，你可以使用引用ID的方式：![Alt Text][image-id] [image-id]: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA...很长很长的编码字符串...AAAElFTkSuQmCC注意事项：图片大小：由于base64编码会增加文件大小（大约增加33%），因此不建议将大图片直接转换为base64编码并插入到Markdown文档中。对于大图片，建议使用外部链接或上传到图床。浏览器兼容性：虽然大多数现代浏览器都支持base64编码的图片，但在一些旧版浏览器或特殊环境中可能存在兼容性问题。文档大小：如果Markdown文档中包含大量base64编码的图片，将会显著增加文档的大小，这可能会影响文档的加载速度和性能。演示图片：
无论是社区论坛、帮助中心还是知识管理平台，你可以信赖 Answer。https://answer.apache.org/zh-CN/
先将存放网站名的文件下载到本地文件路径及文件名：/www/server/panel/data/db/site.db使用Navicat工具打开下载地址可用：http://www.2265.com/soft/546719.html新建SQLlite数据库文件随便输入连接名、类型选择现有数据库、数据库文件名选择site.db、用户名和密码不需要填修改表sites里对应的name数据即可修改后ctrl+S保存上传覆盖原来的文件将修改后的site.db文件上传到：/www/server/panel/data/db 中覆盖原来的文件修改nginx配置文件名修改对应的站点配置文件名：/www/server/panel/vhost/nginx/原网站名.conf修改为：/www/server/panel/vhost/nginx/新网站名.conf
宝塔面板“抱歉，站点已停止运行”提示页面的修改
在进行任何修改之前，建议先备份站点文件，以防万一修改出错。在宝塔面板中，如果站点被暂停，由于业务变更或者其它的临时原因，可能会需要用到宝塔的停止站点这个功能，停止后，访问网站通常会显示一个默认的提示页面：“抱歉，站点已暂停”。如果你希望自定义这个提示页面，可以通过以下步骤进行修改：如果想更换内容，只需要登录宝塔面板方法一在左侧菜单栏中选择文件文件里找到：/www/server/stop/index.html或者直接上方搜索 /www/server/stop ，找到 index.html 双击进入修改即可方法二在左侧菜单栏中选择 网站 ，选择需要修改暂停页面的站点点击站点右侧的 打开目录 或 文件管理在站点根目录下创建一个名为.htaccess 的文件将以下内容添加到 .htaccess 文件中（这将指定 503 错误页面为 maintenance.html ）：apache ErrorDocument 503 /maintenance.html在站点根目录下创建一个名为 maintenance.html 的文件编辑 maintenance.html 文件，添加自定义的暂停页面内容，示例文件内容： 站点维护中 站点正在维护中 我们正在努力改进我们的服务，请稍后再试。
获取网页的 Cookie 值是很简单的事，比如我们想获取抖音网页的 Cookie , 以下是步骤:切记：打开抖音网页端后，务必保证账号已登录，再获取！方法一：首先 PC 打开网页：htttp://www.douyin.com/discover在网页的空白区域点击右键，然后选择"检查"，或F12快捷键打开网页的调试界面。再点击“网络”标签，可以看到所有的请求内容, 在浏览器左上方点击刷新网页按钮。整个网页已经重新加载，在这里输入筛选内容: htttp://www.douyin.com/discover点击筛选出的网址，查看右侧的内容，直接复制 Cookie 右边的内容即可。方法二：首先 PC 随意打开一个网页，进入网页的调试界面。选择 网络NetworK ，下方搜索输入： app然后上面输入打开网页： htttp://www.douyin.com右侧会出现很多链接，任选一个点击。下滑找到请求标头， request headers 即可看到 Cookie
php版 使用本地txt链接视频库 实现随机美女视频API
原版代码<?php // 请求参数说明： // 参数名称 是否必填 备注内容 // json 是 json格式响应 // down 是 302重定向响应 // &id= 否 视频id编号 // 设置 CORS 头部，允许跨域访问（如果需要） header("Access-Control-Allow-Origin: *"); // 设置响应内容类型为 JSON header("Content-Type: application/json; charset=UTF-8"); // 视频库链接地址 $videoFilePath = "Beautyvideo/Beautyvideo.txt"; // 第三方API：用于获取视频链接 $thirdPartyApiUrl = "https://api.kxzjoker.cn/API/Beautyvideo/Beauty_video_url.php"; // 第三方解析API：用于解析视频链接 $thirdPartyParseApiUrl = "https://api.kxzjoker.cn/API/jiexi_video_2.php?url="; // 获取请求参数 $type = isset($_GET['type']) ? trim($_GET['type']) : null; $id = isset($_GET['id']) ? (int) $_GET['id'] : null; // 使用第三方API来获取视频链接 //Yes则使用第三方视频库,No则使用本地视频库 $useThirdPartyApi = 'Yes'; // 建议使用第三方视频库,第三方视频库每天都会更新几百条视频 // 校验 'type' 参数 if ($type === null) { echo json_encode(["msg" => "请提供 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } // 处理第三方 API 请求 if ($useThirdPartyApi == 'Yes') { // 如果有 id 参数，附加到 API 请求的 URL 中 $thirdPartyApiUrl = $id !== null ? $thirdPartyApiUrl . "?id=" . urlencode($id) : $thirdPartyApiUrl; // 获取第三方API的视频链接 $thirdPartyResponse = @file_get_contents($thirdPartyApiUrl); if ($thirdPartyResponse === FALSE) { echo json_encode(["code" => 401, "msg" => "获取第三方视频链接失败，请联系管理员进行维护", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } $thirdPartyData = json_decode($thirdPartyResponse, true); if (isset($thirdPartyData['url'], $thirdPartyData['Video_platform'], $thirdPartyData['video_number'], $thirdPartyData['video_id'])) { $videoLink = $thirdPartyData['url']; $video_platform = $thirdPartyData['Video_platform']; $video_number = $thirdPartyData['video_number']; $video_id = $thirdPartyData['video_id']; // 解析视频链接 $requestUrl = $thirdPartyParseApiUrl . urlencode($videoLink); $response = @file_get_contents($requestUrl); if ($response === FALSE) { echo json_encode(["code" => 401, "msg" => "解析请求失败，请联系管理员进行维护", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } $data = json_decode($response, true); if (isset($data['data']['download_url'], $data['data']['image_url'], $data['data']['video_title'])) { $download_url = $data['data']['download_url']; $image_url = $data['data']['image_url']; $video_title = $data['data']['video_title']; if ($type == 'json') { echo json_encode([ "code" => 200, "video_title" => $video_title, "download_url" => $download_url, "image_url" => $image_url, "Video_platform" => $video_platform, "video_number" => $video_number, "video_id" => $video_id, "tips" => "接口由Wechat:Hello-byte提供", "time" => date("Y-m-d H:i:s") ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } elseif ($type == 'down') { header("Location: " . $download_url, true, 302); exit; } else { echo json_encode(["msg" => "无效的 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } } else { echo json_encode(["code" => 403, "msg" => "视频链接解析失败", "video_id" => $video_id, "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } } else { echo json_encode(["code" => 402, "msg" => "第三方API返回数据格式不正确", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } } else { // 使用本地文件 Beautyvideo.txt 作为视频库 $videoLinks = @file($videoFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($videoLinks)) { echo json_encode(["code" => 402, "msg" => "视频库有效链接失效，请联系网站管理员邮箱进行维护!", "tips" => "接口由Wechat:Hello-byte提供", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } // 选择视频链接 if ($id !== null && $id >= 1 && $id <= count($videoLinks)) { $videoLink = $videoLinks[$id - 1]; $video_id = $id; } else { $videoLink = $videoLinks[array_rand($videoLinks)]; $video_id = array_search($videoLink, $videoLinks) + 1; } // 请求解析 $requestUrl = $thirdPartyParseApiUrl . urlencode($videoLink); $response = @file_get_contents($requestUrl); if ($response === FALSE) { echo json_encode(["code" => 401, "msg" => "解析请求失败，请联系管理员进行维护!", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); exit; } $data = json_decode($response, true); if (isset($data['data']['download_url'], $data['data']['image_url'], $data['data']['video_title'])) { $download_url = $data['data']['download_url']; $image_url = $data['data']['image_url']; $video_title = $data['data']['video_title']; $video_platform = strpos($videoLink, 'kuaishou.com') !== false ? '快手' : (strpos($videoLink, 'douyin.com') !== false ? '抖音' : '未知平台'); if ($type == 'json') { echo json_encode([ "code" => 200, "video_title" => $video_title, "download_url" => $download_url, "image_url" => $image_url, "Video_platform" => $video_platform, "video_number" => count($videoLinks), "video_id" => $video_id, "tips" => "接口由Wechat:Hello-byte提供", "time" => date("Y-m-d H:i:s") ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } elseif ($type == 'down') { header("Location: ". $download_url, true, 302); exit; } else { echo json_encode(["msg" => "无效的 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } } else { echo json_encode(["code" => 403, "msg" => "视频链接解析失败，请联系网站管理员邮箱进行维护!", "video_id" => $video_id, "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); // **仅在本地视频库中删除失效链接** // 删除失效链接的部分 if ($useThirdPartyApi == 'No') { $indexToDelete = $video_id - 1; if ($indexToDelete >= 0 && $indexToDelete < count($videoLinks)) { array_splice($videoLinks, $indexToDelete, 1); file_put_contents($videoFilePath, implode("\n", $videoLinks)); } } } } ?> 修改后的1主要移除了使用第三方API，直接使用本地文件：/Beautyvideo/Beautyvideo.txt 作为视频库（要确保 /Beautyvideo/Beautyvideo.txt 文件存在且包含有效的视频链接，每行一个链接。）而且在原版基础上在 json_encode 函数中添加了 JSON_PRETTY_PRINT 标志来美化JSON输出。<?php // 设置 CORS 头部，允许跨域访问（如果需要） header("Access-Control-Allow-Origin: *"); // 设置响应内容类型为 JSON header("Content-Type: application/json; charset=UTF-8"); // 视频库链接地址 $videoFilePath = "Beautyvideo/Beautyvideo.txt"; // 第三方API：用于获取视频链接 $thirdPartyApiUrl = "https://api.kxzjoker.cn/API/Beautyvideo/Beauty_video_url.php"; // 获取请求参数 $type = isset($_GET['type']) ? trim($_GET['type']) : null; $id = isset($_GET['id']) ? (int) $_GET['id'] : null; // 校验 'type' 参数 if ($type === null) { echo json_encode(["msg" => "请提供 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); exit; } // 使用本地文件 Beautyvideo.txt 作为视频库 $videoLinks = @file($videoFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($videoLinks)) { echo json_encode(["code" => 402, "msg" => "视频库有效链接失效，请联系网站管理员邮箱进行维护!", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); exit; } // 选择视频链接 if ($id !== null && $id >= 1 && $id <= count($videoLinks)) { $videoLink = $videoLinks[$id - 1]; $video_id = $id; } else { $videoLink = $videoLinks[array_rand($videoLinks)]; $video_id = array_search($videoLink, $videoLinks) + 1; } // 判断视频平台 $video_platform = strpos($videoLink, 'kuaishou.com') !== false ? '快手' : (strpos($videoLink, 'douyin.com') !== false ? '抖音' : '未知平台'); // 返回JSON格式响应 if ($type == 'json') { echo json_encode([ "code" => 200, "url" => $videoLink, "Video_platform" => $video_platform, "video_number" => count($videoLinks), "video_id" => $video_id, "tips" => "接口由Wechat:Hello-byte提供", "time" => date("Y-m-d H:i:s") ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } elseif ($type == 'down') { header("Location: " . $videoLink, true, 302); exit; } else { echo json_encode(["msg" => "无效的 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } ?>修改后的2主要设置了默认是：json方式访问，实现默认访问http://v.syylw.com/api/Beauty_video.php 时即以json类型 访问，在PHP脚本 中设置一个默认值，使得当请求中没有提供 type参数 时，自动使用 json 作为默认值。<?php // 设置 CORS 头部，允许跨域访问（如果需要） header("Access-Control-Allow-Origin: *"); // 设置响应内容类型为 JSON header("Content-Type: application/json; charset=UTF-8"); // 视频库链接地址 $videoFilePath = "Beautyvideo/Beautyvideo.txt"; // 获取请求参数 $type = isset($_GET['type']) ? trim($_GET['type']) : 'json'; // 设置默认值为 'json' $id = isset($_GET['id']) ? (int) $_GET['id'] : null; // 使用本地文件 Beautyvideo.txt 作为视频库 $videoLinks = @file($videoFilePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($videoLinks)) { echo json_encode(["code" => 402, "msg" => "视频库有效链接失效，请联系网站管理员邮箱进行维护!", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); exit; } // 选择视频链接 if ($id !== null && $id >= 1 && $id <= count($videoLinks)) { $videoLink = $videoLinks[$id - 1]; $video_id = $id; } else { $videoLink = $videoLinks[array_rand($videoLinks)]; $video_id = array_search($videoLink, $videoLinks) + 1; } // 判断视频平台 $video_platform = strpos($videoLink, 'kuaishou.com') !== false ? '快手' : (strpos($videoLink, 'douyin.com') !== false ? '抖音' : '未知平台'); // 返回JSON格式响应 if ($type == 'json') { echo json_encode([ "code" => 200, "url" => $videoLink, "Video_platform" => $video_platform, "video_number" => count($videoLinks), "video_id" => $video_id, "tips" => "接口由Wechat:Hello-byte提供", "time" => date("Y-m-d H:i:s") ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } elseif ($type == 'down') { header("Location: " . $videoLink, true, 302); exit; } else { echo json_encode(["msg" => "无效的 'type' 参数", "time" => date("Y-m-d H:i:s")], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); } ?>在这个修改后的代码中，我将获取 type参数 的逻辑修改为：$type = isset($_GET['type']) ? trim($_GET['type']) : 'json'; // 设置默认值为 'json'这意味着如果请求中没有提供 type参数，$type 将自动被设置为'json'。这样，当用户访问 http://v.syylw.com/api/Beauty_video.php 时，如果没有指定 type参数，系统将默认以 json类型 进行响应。原版API【随机美女视频视频库】请求说明：请求地址：https://api.kxzjoker.cn/API/Beautyvideo/Beauty_video_url.php返回格式：JSON请求方式：GET/POST请求示例：https://api.kxzjoker.cn/API/Beautyvideo/Beauty_video_url.php返回示例：{ "code": 200, "url": "https://v.kuaishou.com/dmOrEd", "Video_platform": "快手", "video_number": 1933, "video_id": 59, "tips": "接口由看戏仔-API(http://api.kxzjoker.cn/)免费提供", "time": "2024-12-25 21:55:54" }请求参数：参数名称是否必填备注内容id否视频id编号返回参数：参数名称参数类型参数说明urlstring视频地址Video_platformstring视频平台video_numberstring当前接口视频数量video_idstring视频id编号访问返回：{ "code": 200, "url": "https://v.kuaishou.com/imxxeZ", "Video_platform": "快手", "video_number": 12208, "video_id": 12033, "tips": "接口由看戏仔-API(http://api.kxzjoker.cn/)免费提供", "time": "2025-01-14 15:22:09" }原版API【聚合短视频解析（线路2）】请求说明：请求地址：https://api.kxzjoker.cn/API/jiexi_video_2.php返回格式：JSON/MP4请求方式：GET/POST请求示例：https://api.kxzjoker.cn/API/jiexi_video_2.php?url=https://v.douyin.com/i2q93e3N/返回示例：{ "success": true, "data": { "video_title": "定格美好瞬间~#旅行#转场#甜妹", "video_url": "https://v9-default.365yg.com/ba4e13cee3720eaeaefac247d54e34c6/676bfea3/video/tos/cn/tos-cn-ve-15/ogsAHdnXeCAEOB7bp9GKABzApcOIEDQbgmweXD/?a=2011&br=1675&bt=1675&btag=80000e00008000&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=4&dy_q=1735127175&dy_va_biz_cert=&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&ft=k7Fz7VVywhiRF_80mo~pK7pswApoiT6ZvrK40zTmto0g3cI&l=202412251946156AD44F7BFBC7EE19A41E&mime_type=video_mp4&net=5&qs=0&rc=NDZpN2Q2ZjZkZDczZDc2PEBpMzN1aWg6ZmtqcjMzNGkzM0AwMC8yYDAuNS8xNmMyNTQuYSMyM2VecjQwMHFgLS1kLTBzcw%3D%3D", "download_url": "https://v9-default.365yg.com/ba4e13cee3720eaeaefac247d54e34c6/676bfea3/video/tos/cn/tos-cn-ve-15/ogsAHdnXeCAEOB7bp9GKABzApcOIEDQbgmweXD/?a=2011&br=1675&bt=1675&btag=80000e00008000&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=4&dy_q=1735127175&dy_va_biz_cert=&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&ft=k7Fz7VVywhiRF_80mo~pK7pswApoiT6ZvrK40zTmto0g3cI&l=202412251946156AD44F7BFBC7EE19A41E&mime_type=video_mp4&net=5&qs=0&rc=NDZpN2Q2ZjZkZDczZDc2PEBpMzN1aWg6ZmtqcjMzNGkzM0AwMC8yYDAuNS8xNmMyNTQuYSMyM2VecjQwMHFgLS1kLTBzcw%3D%3D", "image_url": "https://p11-sign.douyinpic.com/tos-cn-i-0813/ocDHztBsAhnDIdA6rAzgfC47E7eYAAduAAkA58~c5_300x400.jpeg?lk3s=138a59ce&x-expires=1736334000&x-signature=elDP1ycPh0oTuSthnNEAcxxG4pE%3D&from=327834062_large&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=aweme_video&l=2024122519461599C49874E8266D13A8F8" }, "tips": "接口由看戏仔-API（http://api.kxzjoker.cn/）免费提供", "time": "2024-12-25 19:46:16" }请求参数：参数名称是否必填备注内容url是短视频作品链接type=down否直接播放无水印视频返回参数：参数名称参数类型参数说明video_titlestring返回作品描述或标题video_urlstring视频链接download_urlstring视频下载链接image_urlstring返回封面图片链接访问返回：{ "success": 200, "data": { "video_title": "定格美好瞬间~#旅行#转场#甜妹", "video_url": "https://v9-default.365yg.com/1679d5cd6aecad83c0b731d1c0fda888/67862095/video/tos/cn/tos-cn-ve-15/ogsAHdnXeCAEOB7bp9GKABzApcOIEDQbgmweXD/?a=0&ch=0&cr=0&dr=0&net=5&cd=0%7C0%7C0%7C0&cv=1&br=1675&bt=1675&cs=0&ds=4&ft=k7Fz7VVywhiRF_80mo~pK7pswApt-o0ZvrK40zTmto0g3cI&mime_type=video_mp4&qs=0&rc=NDZpN2Q2ZjZkZDczZDc2PEBpMzN1aWg6ZmtqcjMzNGkzM0AwMC8yYDAuNS8xNmMyNTQuYSMyM2VecjQwMHFgLS1kLTBzcw%3D%3D&btag=80000e00008000&dy_q=1736839801&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&l=2025011415300171284B75F58D3E465D5C", "download_url": "https://v9-default.365yg.com/1679d5cd6aecad83c0b731d1c0fda888/67862095/video/tos/cn/tos-cn-ve-15/ogsAHdnXeCAEOB7bp9GKABzApcOIEDQbgmweXD/?a=0&ch=0&cr=0&dr=0&net=5&cd=0%7C0%7C0%7C0&cv=1&br=1675&bt=1675&cs=0&ds=4&ft=k7Fz7VVywhiRF_80mo~pK7pswApt-o0ZvrK40zTmto0g3cI&mime_type=video_mp4&qs=0&rc=NDZpN2Q2ZjZkZDczZDc2PEBpMzN1aWg6ZmtqcjMzNGkzM0AwMC8yYDAuNS8xNmMyNTQuYSMyM2VecjQwMHFgLS1kLTBzcw%3D%3D&btag=80000e00008000&dy_q=1736839801&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&l=2025011415300171284B75F58D3E465D5C", "image_url": "https://p11-sign.douyinpic.com/tos-cn-i-0813/ocDHztBsAhnDIdA6rAzgfC47E7eYAAduAAkA58~c5_300x400.jpeg?lk3s=138a59ce&x-expires=1738047600&x-signature=e%2BYpC4c5XvU5IRTczMpByWUPiXI%3D&from=327834062_large&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=aweme_video&l=202501141530016881D2CACDB1180188E1" }, "tips": "接口由看戏仔-API（http://api.kxzjoker.cn/）免费提供", "time": "2025-01-14 15:30:00" }
php版 简洁好看的随机图片和视频 支持 ajax 刷新 自适应
原版：https://blog.syylw.com/159.html在此基础上增加了：启动初始画面视频和图片双按钮切换视频暂停与开始视频和图片加载失败默认图index.php Random Media Display with Ajax 点击开始 图片 视频 点击换一张 get_random_media.php<?php header('Content-Type: application/json'); $mediaFile = 'images.txt'; $lines = file($mediaFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($lines)) { echo json_encode(['error' => 'No media available']); exit; } $randomLine = $lines[array_rand($lines)]; list($type, $url) = explode('|', $randomLine, 2); // 假设用'|'分隔类型和URL echo json_encode([ 'type' => trim($type), 'url' => trim($url) ]); ?>get_random_image.php<?php header('Content-Type: application/json'); $mediaFile = 'img.txt'; $lines = file($mediaFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($lines)) { echo json_encode(['error' => 'No images available']); exit; } $url = $lines[array_rand($lines)]; echo json_encode([ 'type' => 'image', 'url' => trim($url) ]); ?>get_random_video.php<?php header('Content-Type: application/json'); $mediaFile = 'video.txt'; $lines = file($mediaFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($lines)) { echo json_encode(['error' => 'No videos available']); exit; } $url = $lines[array_rand($lines)]; echo json_encode([ 'type' => 'video', 'url' => trim($url) ]); ?>images.txtimage|https://img0.baidu.com/it/u=4245391110,2737142142&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1422 image|https://img0.baidu.com/it/u=4096475799,483816106&fm=253&app=138&f=JPEG?w=800&h=1422 video|https://pic.seotool.vip/v1/2024/03/13380777792039797.mp4img.txthttps://img0.baidu.com/it/u=4245391110,2737142142&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1422 https://img0.baidu.com/it/u=4096475799,483816106&fm=253&app=138&f=JPEG?w=800&h=1422video.txthttps://pic.seotool.vip/v1/2024/03/13380777792039797.mp4 https://pic.seotool.vip/v1/2024/03/13380777792032129797.mp4新增修复版【1】index.php点击了图片或视频按钮后，再次点击“换一个”按钮时，仅在图片或视频文件中随机切换，而不是混合显示。 Random Media Display with Ajax 点击开始 图片 视频 换一个 新增修复版【2】index.php在点击“图片”或“视频”按钮后，在右侧显示一个“混合”图标。当用户点击这个图标时，将加载随机混合的媒体内容，并且之后点击“换一个”按钮会继续加载随机混合的内容。 Random Media Display with Ajax 点击开始 图片 视频 混合 换一个
php版 简洁好看的随机图片/视频 支持 ajax 刷新 自适应
仅支持图片的：https://blog.syylw.com/158.html支持视频的在此基础上：get_random_media.php文件<?php header('Content-Type: application/json'); $mediaFile = 'images.txt'; $lines = file($mediaFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($lines)) { echo json_encode(['error' => 'No media available']); exit; } $randomLine = $lines[array_rand($lines)]; list($type, $url) = explode('|', $randomLine, 2); // 假设用'|'分隔类型和URL echo json_encode([ 'type' => trim($type), 'url' => trim($url) ]); ?>index.php或index.html文件 Random Media Display with Ajax 点击换一张 images.txt文件image|https://example.com/path/to/image.jpg video|https://example.com/path/to/video.mp4
php版 简洁好看的随机图片 支持ajax刷新 自适应
代码功能使用 PHP 和 JavaScript 实现的随机图片展示页面，支持Ajax刷新加载图片。目录结构/your-project-directory ├── index.php ├── get_random_image.php └── images.txtimages.txt每行包含一个图片地址，示例：https://img0.baidu.com/it/u=4245391110,2737142142&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1422 http://img0.baidu.com/it/u=4096475799,483816106&fm=253&app=138&f=JPEG?w=800&h=1422get_random_image.php这个新文件将负责生成并返回随机图片的URL。<?php session_start(); function getRandomImage() { $imageFile = 'images.txt'; $imageLines = file($imageFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); if (empty($imageLines)) { die('No images found in images.txt'); } $imageCount = count($imageLines); $previousRandomIndex = isset($_SESSION['previousRandomIndex']) ? $_SESSION['previousRandomIndex'] : -1; // Generate a new random index, avoiding the previous one if possible $randomIndex; do { $randomIndex = rand(0, $imageCount - 1); } while ($randomIndex == $previousRandomIndex); // Update the session variable with the new random index $_SESSION['previousRandomIndex'] = $randomIndex; // Return the random image URL echo json_encode(['image_url' => $imageLines[$randomIndex]]); exit; } // Call the function to get and return the random image getRandomImage();index.php这个文件将包含HTML、CSS和JavaScript来显示图片和处理Ajax请求。 Random Image Display with Ajax 点击换一张 代码解释get_random_image.php：这个脚本负责生成随机图片的URL，并将其作为JSON响应返回。它使用会话变量来避免连续生成相同的随机索引。index.php：HTML页面包含一个 元素来显示图片，以及一个 元素来触发Ajax请求。JavaScript使用fetch API来异步请求get_random_image.php，并在成功获取新图片的URL后更新 元素的src属性。增加icon图标 Random Image Display with Ajax 点击换一张 修改后index.php Random Image Display with Ajax 点击换一张 对于国内用户来说，访问位于国外的CDN资源（如：https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css）可能会遇到加载速度较慢的问题。为了解决这个问题，可以考虑使用国内的CDN镜像或者将Font Awesome下载到本地进行引用。优化版index.php增加加载状态显示：在加载新图片时，显示一个加载图标或文本，以提高用户体验。错误处理优化：在加载图片失败时，提供更友好的错误提示。代码结构优化：将JavaScript代码封装在一个函数中，以提高代码的可读性和可维护性。 Random Image Display with Ajax 点击换一张 附加事项（上面已经写了，可选）get_random_image.php文件：确保该文件能够正确地从您的图片数据库中随机选择一张图片，并以JSON格式返回图片的URL。例如：<?php header('Content-Type: application/json'); // 假设您有一个包含图片URL的数组 $images = [ 'https://example.com/images/photo1.jpg', 'https://example.com/images/photo2.jpg', // ... 更多图片URL ]; // 随机选择一张图片 $randomIndex = array_rand($images); $randomImage = $images[$randomIndex]; // 返回JSON响应 echo json_encode(['image_url' => $randomImage]); ?>
PC桌面指定文件夹所有文件并输出文件名 bat脚本
列出桌面上指定文件夹中的所有文件，并将文件名输出到一个文本文件中，一个文件占一行，自动换行，并包含文件后缀。@echo off setlocal enabledelayedexpansion :: 设置桌面路径 set "desktopPath=%USERPROFILE%\Desktop" :: 设置要列出文件的文件夹名称 set "folderName=指定文件夹名称" :: 设置输出文件名 set "outputFile=output.txt" :: 检查文件夹是否存在 if not exist "%desktopPath%\%folderName%" ( echo 指定的文件夹不存在。 exit /b 1 ) :: 清空输出文件 if exist "%desktopPath%\%outputFile%" del "%desktopPath%\%outputFile%" :: 列出文件夹中的所有文件并输出到文件 for %%f in ("%desktopPath%\%folderName%\*") do ( echo %%~nxf >> "%desktopPath%\%outputFile%" ) echo 文件名已输出到 %desktopPath%\%outputFile% pause如果文件夹名包含空格，你需要确保在脚本中使用引号将文件夹路径包围起来，以确保路径被正确解析。以下是一个修改后的批处理脚本，适用于文件夹名中包含空格的情况：@echo off setlocal enabledelayedexpansion :: 设置桌面路径 set "desktopPath=%USERPROFILE%\Desktop" :: 设置要列出文件的文件夹名称，注意使用引号 set "folderName=指定文件夹名称" :: 设置输出文件名 set "outputFile=output.txt" :: 检查文件夹是否存在 if not exist "%desktopPath%\%folderName%" ( echo 指定的文件夹不存在。 exit /b 1 ) :: 清空输出文件 if exist "%desktopPath%\%outputFile%" del "%desktopPath%\%outputFile%" :: 列出文件夹中的所有文件并输出到文件 for %%f in ("%desktopPath%\%folderName%\*") do ( echo %%~nxf >> "%desktopPath%\%outputFile%" ) echo 文件名已输出到 %desktopPath%\%outputFile% pause举例：要输出的是C:UsersAdministratorDesktopyz文件夹，怎么修改和替换？@echo off setlocal enabledelayedexpansion :: 设置要列出文件的文件夹路径 set "folderPath=C:\Users\Administrator\Desktop\yz" :: 设置输出文件名 set "outputFile=output.txt" :: 检查文件夹是否存在 if not exist "%folderPath%" ( echo 指定的文件夹不存在。 exit /b 1 ) :: 清空输出文件 if exist "%folderPath%\%outputFile%" del "%folderPath%\%outputFile%" :: 列出文件夹中的所有文件并输出到文件 for %%f in ("%folderPath%\*") do ( echo %%~nxf >> "%folderPath%\%outputFile%" ) echo 文件名已输出到 %folderPath%\%outputFile% pause双击运行该批处理文件，它会在 C:\Users\Administrator\Desktop\yz 文件夹中创建一个名为 output.txt 的文件，里面包含了该文件夹中所有文件的文件名，每个文件名占一行，包含文件后缀.
bt宝塔面板 查询占用了多少存储空间命令
检查磁盘挂载状态df -h检查每个网站目录的大小：du -sh /www/wwwroot/*检查根目录的磁盘使用情况：du -sh /* 2>/dev/null | sort -hr检查根目录下每个子目录的详细使用情况：du -h --max-depth=1 /查看www根目录下每个子目录的详细使用情况：du -sh /www/* | sort -hr