首页
关于
Search
1
这里是本地笔记空间 - 记录我的笔记
2 阅读
2
HTML账号管理器
2 阅读
3
晓科的博客 - 网站搭建历程碑
2 阅读
4
文章代码块默认最多显示12行,超出自动出现滚动条
1 阅读
5
一款轻量级PHP在线聊天系统源码
1 阅读
默认分类
登录
Search
Typecho
累计撰写
15
篇文章
累计收到
1
条评论
首页
栏目
默认分类
页面
关于
搜索到
15
篇与
的结果
2026-05-19
JefCounts 是一个轻量级的网站访问统计系统,帮助您了解网站的访问情况。
这是什么JefCounts 能帮你了解网站的访问情况,包括有多少人访问、从哪里来、用什么设备等基本信息。数据完全存储在您自己的服务器上,保护隐私安全。官方网址:https://jesoo.org/https://www.jefcounts.com/文件下载:{cloud title="网站访问统计系统" type="lz" url="https://wwbwh.lanzouw.com/iql0U3ptw0yj" password=""/}{cloud title="夸克网盘" type="default" url="https://pan.quark.cn/s/272532d41f55" password=""/}
2026年05月19日
1 阅读
0 评论
0 点赞
2026-05-18
晓科的博客 - 网站搭建历程碑
网站的 Favicon 图片文件网站的 logo 图片文件网站目前搭建在虚拟主机上:七枫主机计划任务:1、在现在这个虚拟主机上加一个自动备份的功能,防止虚拟主机挂了2、呃呃呃呃呃。。。
2026年05月18日
2 阅读
0 评论
0 点赞
2026-05-18
账号管理器 - 文章重写
我自己有很多的账号,不知道大家是不是跟我一样,像我喜欢在互联网冲浪,就会有很多平台不同的账号,这也导致了账号太多,如果不是刻意记我可能都忘了我还有个账号为此我专门做了一个可以管理账号的工具,可以记录账号密码链接还可以分类可以备注,算是很齐全了,不过有一个不好的点就是不能同步信息,需要换设备就得手动备份数据然后导入,这样做的好处是所有账号信息只存本地,并不会上传服务器,绝对的安全性,这是我想要的效果我也不是没有想过用做数据同步功能,事实上我不仅想我还做了,只不过考虑到这些都是重要且敏感的信息,放任何服务器都不能保证绝对的安全,思来想去我就想到做成离线的,这样只要管理好自己的数据就不会泄露说了这么多我来正式介绍一下我的这个账号管理器是怎么实现的吧!这是一个单文件 .html 文件,一个纯前端网页工具,这意味着不联网也可以使用,HTML的好处就是在电脑上双击就可以打开使用,不用像安装程序那样担心流氓软件的问题,文件总大小只有几十KB这个工具不止电脑上可以使用,手机上也可以,如果你懂一点文件管理器,你就可以在文件管理器找到这个文件,选择用浏览器打开,这样就可以像电脑端一样流畅的使用了,对了,打开以后收藏这个网页,只要不移动文件,你就可以一直使用了除此之外,还可以部署成一个网页网站,就是把这个HTML文件部署到你的网站上,这样就可以用链接访问了,不限设备,不管电脑、平板还是手机都可以访问我自己已经部署了一个账号管理器的网站,链接放下面了,我平时也是用这个链接直接使用,当然我并不是推荐你使用,只是为了让不知道怎么用的朋友能够快速使用体验到这个工具,也可以作为演示给大家看看因为这是我自己搭建的所以我需要维护,如果我不维护了,链接访问不了了,大家的数据又没有做备份那你的数据可能就丢了,所以不太推荐大家直接用这个链接如果非要用的话,我建议大家记得常备份数据,自己也下载一份HTML原文件保留,这样即使网站关了,大家依旧可以用原文件导入数据使用这里是我搭建的账号管理器网站链接:https://a.aszv.top/zhanghao/就这样吧,我自己从做好这个工具到现在使用了差不多有三个月的时间了,现在这个工具已经算是最终稳定的一个版本了,我用这个工具记录了差不多有100个账号信息了,依旧稳定没有任何问题Bug最后如果你也需要这样一个工具,你也跟我有一样的烦恼,我也在这分享出来,免费提供给大家使用,自己做的,我是放心,分享出来的文件里也能看到所有代码,如果你也懂代码,你可以自己检查是否安全,也欢迎大家互相交流学习,使用时遇到什么问题欢迎在评论区评论,我都会看的最后如果这个工具对你有所帮助,还希望你能打赏一下,0.1也是一份心意,你的打赏是我坚持下去的动力这里放一个打赏链接:访问链接跳转打赏页面,在打赏页面上可以看到打赏的人大家有什么奇奇怪怪的想法也可以在下方留言,我打算收集一下大家的意见,想知道大家平时都会遇到那些烦恼,有什么是可以用网站来实现的
2026年05月18日
1 阅读
0 评论
0 点赞
2026-05-15
账号管理器
我自己有很多的账号,不知道大家是不是跟我一样,像我喜欢在互联网冲浪,就会有很多平台不同的账号,这也导致了账号太多,如果不是刻意记我可能都忘了我还有个账号为此我专门做了一个可以管理账号的工具,可以记录账号密码链接还可以分类可以备注,算是很齐全了,不过有一个不好的点就是不能同步信息,需要换设备就得手动备份数据然后导入,这样做的好处是所有账号信息只存本地,并不会上传服务器,绝对的安全性,这是我想要的效果我也不是没有想过用做数据同步功能,事实上我不仅想我还做了,只不过考虑到这些都是重要且敏感的信息,放任何服务器都不能保证绝对的安全,思来想去我就想到做成离线的数据只能物理管理,这样只要我管理好我的数据就不会泄露说了这么多我来正式介绍一下我的这个账号管理器是怎么实现的吧!这是一个单文件 .html 文件,一个纯前端网页工具,这意味着不联网也可以使用,HTML的好处就是在电脑上双击就可以打开使用,不用像安装程序那样担心流氓软件的问题,文件总大小只有几十KB这个文件总不能只能在电脑上使用吧!不是的,手机上也可以,如果你懂一点文件管理器,你就可以在文件管理器找到这个文件,选择用浏览器打开,这样就可以像电脑端一样流畅的使用了,对了,打开以后收藏这个网页,只要不移动文件,你就可以一直使用了除此之外,还可以部署成一个网页网站,就是把这个HTML文件部署到你的网站上,这样就可以用连接访问了,不限设备,不管电脑、平板还是手机都可以访问,不过依旧不会数据同步,这只是另一种使用的方式,实际上的效果并没有变化,本地使用是什么样依旧还是一样的就这样吧,我自己从做好这个工具到现在使用了差不多有三个月的时间了,现在这个工具已经算是最终稳定的一个版本了,我用这个工具记录了差不多有100个账号信息了,依旧稳定没有任何问题Bug最后如果你也需要这样一个工具,你也跟我有一样的烦恼,我也在这分享出来,免费提供给大家使用,自己做的,我是放心,分享出来的文件里也能看到所有代码,如果你也懂代码,你可以自己检查是否安全,也欢迎大家互相交流学习,使用时遇到什么问题欢迎在评论区评论,我都会看的
2026年05月15日
1 阅读
0 评论
0 点赞
2026-05-13
一键备份+跨主机传输!PHP全自动网站备份脚本,零依赖超省心
对于站长和开发者来说,网站数据备份是保障资产安全的最后一道防线。手动备份不仅繁琐耗时,还容易遗漏文件或数据库,一旦服务器故障、误操作删库,数据丢失的损失难以估量。今天给大家分享一款纯PHP编写、零依赖、开箱即用的全自动备份脚本,无需安装任何软件,只需简单配置,就能一键备份网站全部文件+数据库,并自动通过FTP传输到另一台虚拟主机,实现异地容灾备份,彻底告别数据丢失风险。一、脚本核心优势这款备份脚本专为虚拟主机/轻量服务器环境设计,完美解决新手站长备份难、传输难的问题,核心亮点:零依赖纯PHP:无需宝塔、无需系统命令,支持所有PHP运行环境,上传即用;双备份全覆盖:自动备份网站所有文件 + MySQL数据库,一键打包;异地传输安全:备份完成后自动通过FTP上传到另一台主机,本地不留临时文件;容错性强:数据库配置错误、数据库信息为空,自动跳过并提示;自动清理:备份、上传完成后自动删除本地临时文件,不占用服务器空间;简单配置:仅需填写数据库和FTP信息,小白也能快速上手。二、脚本完整代码(可直接复制使用)<?php // ========================================== // 配置区:请根据面板信息填写以下内容 // ========================================== $config = [ // 本地数据库配置(当前A虚拟主机的数据库信息) 'db_host' => 'localhost', // 数据库地址,一般固定为localhost 'db_name' => '', // 填写:数据库名 'db_user' => '', // 填写:数据库用户名 'db_pass' => '', // 填写:数据库密码 // 目标FTP配置(要备份到的B虚拟主机FTP信息) 'ftp_host' => '', // 填写:FTP服务器IP地址 'ftp_port' => 21, // FTP端口,默认21无需修改 'ftp_user' => '', // 填写:FTP用户名 'ftp_pass' => '', // 填写:FTP密码 'ftp_dir' => '/', // FTP上传目录,默认/无需修改 ]; // 运行配置 ini_set('display_errors', 0); error_reporting(0); ini_set('max_execution_time', '600'); ini_set('memory_limit', '1G'); // 路径 $webRoot = __DIR__; $backupDir = $webRoot . '/_backup'; @mkdir($backupDir, 0755, true); $time = date('Ymd_His'); $zipFile = $backupDir . "/backup_$time.zip"; $sqlFile = $backupDir . "/db_$time.sql"; $includeDatabase = false; // --------------------------- // 数据库备份(可失败,不中断) // --------------------------- if (!empty($config['db_name']) && !empty($config['db_user'])) { $mysqli = @new mysqli($config['db_host'], $config['db_user'], $config['db_pass'], $config['db_name']); if ($mysqli->connect_error) { echo "数据库信息错误,跳过数据库备份,仅打包网站文件\n"; } else { $mysqli->set_charset('utf8mb4'); $tables = @$mysqli->query("SHOW TABLES"); if ($tables) { $sqlContent = "SET NAMES utf8mb4;\nSET FOREIGN_KEY_CHECKS=0;\n\n"; while ($row = $tables->fetch_row()) { $table = $row[0]; $create = $mysqli->query("SHOW CREATE TABLE `$table`")->fetch_row()[1]; $sqlContent .= "DROP TABLE IF EXISTS `$table`;\n$create;\n\n"; $data = $mysqli->query("SELECT * FROM `$table`"); while ($item = $data->fetch_assoc()) { $values = array_map([$mysqli, 'real_escape_string'], $item); $sqlContent .= "INSERT INTO `$table` VALUES ('" . implode("','", $values) . "');\n"; } $sqlContent .= "\n\n"; } file_put_contents($sqlFile, $sqlContent); $includeDatabase = true; } } } else { echo "数据库信息为空,跳过数据库备份,仅打包网站文件\n"; } // --------------------------- // 打包网站文件 // --------------------------- $zip = new ZipArchive(); if ($zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) { die("压缩包创建失败,目录无权限或空间不足"); } if ($includeDatabase && file_exists($sqlFile)) { $zip->addFile($sqlFile, basename($sqlFile)); } function addDirToZip($root, $dir, $zip) { $handle = opendir($dir); while (($file = readdir($handle)) !== false) { if ($file == '.' || $file == '..' || $file == basename(__FILE__) || strpos($dir, '_backup') !== false) continue; $path = $dir . '/' . $file; if (is_dir($path)) { addDirToZip($root, $path, $zip); } else { $zip->addFile($path, str_replace($root . '/', '', $path)); } } closedir($handle); } addDirToZip($webRoot, $webRoot, $zip); $zip->close(); // 删除临时SQL if (file_exists($sqlFile)) { unlink($sqlFile); } // --------------------------- // FTP 上传 // --------------------------- if (empty($config['ftp_host']) || empty($config['ftp_user'])) { delDir($backupDir); die("FTP信息未填写,无法上传"); } $ftpConn = @ftp_connect($config['ftp_host'], $config['ftp_port']); if (!$ftpConn) { delDir($backupDir); die("FTP连接失败,请检查FTP地址和端口"); } if (!@ftp_login($ftpConn, $config['ftp_user'], $config['ftp_pass'])) { ftp_close($ftpConn); delDir($backupDir); die("FTP登录失败,请检查用户名和密码"); } ftp_set_option($ftpConn, FTP_USEPASVADDRESS, false); ftp_pasv($ftpConn, true); if (!@ftp_chdir($ftpConn, $config['ftp_dir'])) { ftp_close($ftpConn); delDir($backupDir); die("FTP目录切换失败,目录不存在"); } if (!@ftp_put($ftpConn, basename($zipFile), $zipFile, FTP_BINARY)) { ftp_close($ftpConn); delDir($backupDir); die("文件上传失败,无写入权限或空间已满"); } ftp_close($ftpConn); // 删除临时目录 function delDir($dir) { if (!is_dir($dir)) return; foreach (scandir($dir) as $file) { if ($file == '.' || $file == '..') continue; $path = $dir . '/' . $file; is_dir($path) ? delDir($path) : unlink($path); } rmdir($dir); } delDir($backupDir); // 成功提示 echo "任务执行完成,文件已上传至目标主机\n"; if ($includeDatabase) { echo "已包含网站文件 + 数据库\n"; } else { echo "仅包含网站文件(数据库未备份)\n"; } ?>三、使用教程(5分钟配置完成)1. 准备工作准备当前网站的数据库信息(主机、库名、用户名、密码,虚拟主机面板可查看);准备接收备份的主机FTP信息(IP、用户名、密码、端口,默认21);将脚本保存为backup.php,上传到网站根目录(和index.php同级)。2. 核心配置打开脚本,找到配置区,仅需修改以下参数:// 本地数据库配置 'db_name' => '你的数据库名', 'db_user' => '你的数据库用户名', 'db_pass' => '你的数据库密码', // 目标FTP配置 'ftp_host' => 'FTP服务器IP', 'ftp_user' => 'FTP用户名', 'ftp_pass' => 'FTP密码',其他参数默认即可,无需修改。3. 执行备份浏览器访问:你的域名/backup.php(例如:https://xxx.com/backup.php);等待脚本执行,页面会显示执行结果;成功后,备份文件会自动上传到目标FTP主机,本地无残留文件。四、脚本执行流程详解环境初始化:设置脚本超时时间、内存限制,创建临时备份目录;数据库备份:自动连接MySQL,导出所有数据表结构和数据,生成SQL文件;文件打包:递归遍历网站所有文件,排除脚本自身和临时目录,打包为ZIP压缩包;FTP传输:自动连接目标FTP服务器,上传压缩包,支持被动模式(兼容绝大多数主机);自动清理:上传完成后删除本地SQL文件和临时目录,释放服务器空间;结果提示:清晰展示备份结果,告知是否包含数据库、传输是否成功。五、常见问题解决1. 压缩包创建失败原因:网站目录无写入权限,或服务器空间不足;解决:给网站根目录设置755权限,清理服务器冗余文件。2. FTP连接/上传失败原因:FTP信息填写错误、端口被拦截、目标主机空间不足;解决:核对FTP信息,开启被动模式(脚本已默认配置),检查目标主机空间。3. 数据库备份失败原因:数据库信息错误、数据库连接限制;解决:核对数据库账号密码,确认数据库地址为localhost。4. 脚本执行超时解决:脚本已默认设置10分钟超时,大网站可将max_execution_time改为1200。六、进阶使用建议定时自动备份:结合虚拟主机的计划任务(Corn),每天/每周自动执行脚本,实现无人值守备份;多主机备份:配置多组FTP信息,可将备份同时上传到多个主机,双重保障;备份文件管理:在目标FTP主机创建专门的备份目录,按时间分类存储,方便回溯;安全防护:备份完成后可删除脚本,或修改脚本文件名,避免未授权访问。总结数据安全是网站运营的重中之重,这款PHP全自动备份脚本,用最简单的方式解决了站长最核心的备份需求。无需专业技术,无需额外成本,上传配置即可使用,真正实现网站文件+数据库一键备份、异地传输、自动清理。
2026年05月13日
1 阅读
0 评论
0 点赞
1
2
3