陈芝佐 发布的文章 - 陈芝佐's 兴趣博客

陈芝佐 发布的文章

效果演示站:
https://www.yuming.biz/
使用工具:
WorkBuddy

提示词:

# 米表项目介绍
我是一个域名投资者,现在需要做一个米表网站来整理和展示个人持有的所有域名。

## 基本要求
脚本语言:使用原生PHP代码编写,不使用第三方框架,支持PHP8。数据库使用MySQL5.7。
架构:前后端分离,管理后台在admin目录下。
界面:使用亮色风格,具有现代化与专业化。

## 界面细节
前端界面使用上下结构,内容依次为:
- 头部导航
- BANNER轮播,高度100px
- 域名筛选器,筛选后缀(多选)、注册平台(多选)、价格范围、状态、排序(域名字符、价格顺逆序)
- 域名信息块,包含域名、价格(0显示为议价,其他数字正常)、介绍、注册平台、状态、详情链接等
- 联系方式
- 域名资讯
- 友情链接
- 底部版权+备案信息

后端界面使用左右分栏:左侧功能导航,右侧设置表单

# 网站功能

## 首页
综合展示域名以及联系方式等基本信息。

## 注册商展示
LOGO墙展示所有注册商。

## 域名资讯
列表展示资讯链接,每页展示20条。
标题 日期 平台

## 后台
### 网站基本信息
网站标题
网站关键词
网站描述
底部版权信息
网站备案号(工信备案,公安备案)
统计代码

### 域名列表管理
域名基本信息:
- 域名:文本,自主填写
- 后缀:文本,自主填写
- 注册平台:下拉选择注册平台
- 注册时间,过期时间:时间,自主填写
- 价格:数字,自主填写
- 简介:文本,自主填写
- 状态:下拉选择(在售、展示、已售)
- 详情链接:网址链接,自主填写,前台会显示指向此链接的按钮

### 域名分类管理
- 域名分类名称

### 域名注册商管理
- 注册商名称
- 注册商网址
- 注册商LOGO
- 注册商简介
- 注册商排序

### 友情链接管理
- 链接名称
- 链接网址
- 链接LOGO
- 链接排序

### 域名资讯管理
本网站不做内容存储,仅提供资讯链接。
- 资讯标题
- 资讯链接
- 发布平台
- 发布日期

做出来的效果还不错,不用修改就可以直接上线。

屏幕截图_2-8-2026_214111_www.yuming.biz.jpeg

项目开源:https://pan.chenzhizuo.com/file.php?hash=2210ce8d3b596810c192e4c5fdb62ff7

部署方法:

# 米表网站(原生 PHP + MySQL)

一个用于域名投资者整理、展示、出售个人域名的米表网站。

- 技术栈:原生 PHP 8(无框架)、MySQL 5.7、PDO
- 架构:前后端分离,后台位于 `admin/` 目录
- 风格:亮色、现代化、专业化

---

## 目录结构

```
mitable/
├── config.php          # 数据库/上传等配置 + 公共函数(前后台共用)
├── db.sql              # 数据库建表与种子数据
├── install.php         # 在线安装(导入 db.sql,用完即删)
├── index.php           # 前台首页(导航/BANNER/筛选/域名块/联系/资讯/友链/底部)
├── registrars.php      # 注册商 LOGO 墙
├── news.php            # 域名资讯列表(每页 20 条)
├── tpl/                # 前台公共头/尾
├── assets/             # CSS / JS
├── uploads/            # 上传的图片(注册商LOGO、友链LOGO、BANNER)
└── admin/              # 后台管理
    ├── login.php / auth.php / logout.php
    ├── index.php       # 概览
    ├── site.php        # 网站基本信息
    ├── domains.php     # 域名列表管理
    ├── categories.php  # 域名分类管理
    ├── registrars.php  # 注册商管理
    ├── friendlinks.php # 友情链接管理
    ├── news.php        # 域名资讯管理
    ├── banners.php     # BANNER 管理
    └── password.php    # 修改管理员密码
```

---

## 部署步骤

### 1. 准备环境
- 一台支持 PHP 8 的 Web 服务器(Apache / Nginx + PHP-FPM)
- MySQL 5.7(或兼容版本)
- 将整个 `mitable/` 目录上传/复制到网站根目录

### 2. 配置数据库
打开 `config.php`,修改以下常量:

```php
define('DB_HOST', 'localhost');
define('DB_PORT', '3306');
define('DB_NAME', 'mitable');   // 必须是主机实际分配给你的库名(虚拟主机通常带前缀,如 tsql_mitable)
define('DB_USER', 'root');     // 改为你的数据库用户名
define('DB_PASS', '');         // 改为你的数据库密码
```

> ⚠️ **常见错误 `1044 Access denied`**:虚拟主机/面板的数据库账号通常**没有建库权限**,且只能访问名称带账号前缀的数据库。
> 解决:先在主机面板里创建好数据库(如 `tsql_mitable`),然后把 `DB_NAME` 改成这个真实库名,`DB_USER` / `DB_PASS` 用面板提供的账号。
> 本安装程序**不会**自动建库,只会连上已存在的库并建表。

### 3. 初始化数据库(二选一)

**方式 A:在线安装(推荐,无需命令行)**
1. 先在主机面板创建数据库(如 `tsql_mitable`),并在 `config.php` 把 `DB_NAME` 设为它
2. 浏览器访问 `http://你的域名/install.php`
3. 点击“开始安装”,自动建表并写入种子数据
4. **务必删除 `install.php` 文件!**

**方式 B:命令行导入**
```bash
mysql -u 用户名 -p
CREATE DATABASE 你的库名 CHARACTER SET utf8mb4;
exit
mysql -u 用户名 -p 你的库名 < db.sql
```

### 4. 设置目录权限
确保 `uploads/` 目录可被 Web 服务器写入(用于上传图片):
```bash
chmod -R 755 uploads   # Linux 环境
```

### 5. 登录后台
- 访问 `http://你的域名/admin/`
- 默认账号:`admin`
- 默认密码:`admin123`
- 登录后请尽快在「修改密码」中更改,并在「网站信息」中完善备案号等信息

---

## 后台功能一览

| 模块 | 说明 |
|------|------|
| 概览 | 各数据量统计与快捷入口 |
| 域名列表 | 增删改查;字段含域名、后缀、注册平台、注册/过期时间、价格(0=议价)、简介、状态(在售/展示/已售)、详情链接、排序、分类 |
| 域名分类 | 分类名称与排序 |
| 注册商 | 名称、网址、LOGO、简介、排序 |
| 友情链接 | 名称、网址、LOGO、排序 |
| 域名资讯 | 仅存链接(标题/链接/平台/日期),前台每页 20 条 |
| BANNER | 图片/文字 + 跳转链接,前台 100px 轮播 |
| 网站信息 | 标题、关键词、描述、版权、工信部/公安备案号、统计代码、联系方式 |
| 修改密码 | 修改后台登录密码 |

---

## 前台说明

- **BANNER 轮播**:高度 100px,自动切换(3.5s)
- **域名筛选器**:后缀(多选)、注册平台(多选)、价格区间、状态、排序(域名字符少→多 / 多→少 / 价格低→高 / 高→低)
- **域名信息块**:展示域名、价格(0 显示“议价”)、简介、注册平台、状态、详情按钮
- **价格展示**:`0` 显示为「议价」,其余显示「¥数字」
- **底部**:友情链接 + 版权 + 工信部/公安备案号

---

## 安全提示
- 安装完成后删除 `install.php`
- 修改默认管理员密码
- 生产环境建议在 Web 服务器层对 `admin/` 增加额外访问限制(如 IP 白名单 / Basic Auth)
- 上传目录 `uploads/` 建议禁止执行 PHP

IMG_5191.png
qqtubiao.cn,20 年前,正是流行点亮 QQ 图标的时候,那时我买下这个域名,做了一个点亮 QQ 图标的教程网站。
运营了几年,佛系挣了几千块的广告费。
十多年前,手机开始代替电脑,QQ 图标逐渐玩的人越来越少了,网站也就逐渐荒废了。
但青春记忆还在,网站一直没下线。内容更新停留在 2014 年。
十年前有个人联系到我,出 2000 元买这个域名,我没舍得卖。
再后来,PCQQ 下线了点亮 QQ 图标业务。意味着,网站内容除了作为留念外,几乎没有用处了。然后我就把域名挂在阿里云市场。
从标价 2000-1500-1000,直到最后标价 500。也无人问津。
前几天,上架西部数码,面客价 500,想碰碰运气。
然后,刚刚,卖掉了。
有点伤感,20 年的老朋友,再见了。

IMG_5193.jpeg

更新:后续我又注册了新域名来承载这个饱含回忆的网站内容。新网址:www.qqtubiao.top

我自己部署了一个网盘服务,用的是彩虹外链网盘程序。用于文件中转站,以及公开文件外链。因为程序主要解决的是存储和外链的功能,网盘内文件预览的功能就没做多少,目前仅支持常规图片和音频视频文件预览播放,以及站外引用微软文档预览服务(view.officeapps.live.com)预览Office文档。

现在我想给这个程序增加预览更多文件格式的能力。但鉴于自己编程能力以及时间精力有限的问题,一直没有做。

今天在浏览阮一峰的科技爱好者周刊(第 402 期)时,看到了开源的File Viewer项目,觉得特别适合集成在彩虹外链网盘程序上,所以现在立刻行动起来,一边编辑此片博文,一边一步一步进行集成。

fileviewer.png

File Viewer:https://github.com/flyfish-dev/file-viewer

通过阅读项目文档,了解主要可以通过两种方式接入,一种是直接 Script 标签引用官方JS,通过几行代码,加载预览功能。二是把项目运行在自己的服务上,再通过引用本地接口加载功能。

因为不想费事,决定用最简便的方式,简单修改一下彩虹外链网盘的程序文件,引用站外JS加载预览功能。

<script src="https://cdn.jsdelivr.net/npm/@file-viewer/web-full@latest/dist/flyfish-file-viewer-web-full.iife.js"></script> 

2026-8-2 更新(jsdelivr源有资源大小限制,更换JS引用源):

<script src="https://unpkg.com/@file-viewer/web-full@latest/dist/flyfish-file-viewer-web-full.iife.js"></script> 

<flyfish-file-viewer src="/files/report.pdf" theme="light" toolbar-position="bottom-right" style="display:block;height:720px"></flyfish-file-viewer> 

fileviewerjs.png

我详细阅读了彩虹外链网盘PHP代码,了解了程序自带的预览功能逻辑:

  1. 上传文件时,upload.php 程序获取文件的文件名、文件后缀、文件大小、HASH值等基本信息,并写入数据库;
  2. file.php 是文件查看功能,读取数据库获得对应文件的基本信息,引用 includes/functions.php
    再通过文件后缀名判定函数,开启对应文件的预览功能;

    • 图片、音频、视频文件直接调用相关组件预览显示(具体文件格式参见“后台管理>系统设置>文件上传设置”);
    • doc、docx、xps、rtf、wps、xls、xlsx、ppt、pptx等文件显示在线预览按钮,链接到微软文档预览器;
    • 其他格式文件直接显示下载按钮。
  3. 图片格式可以用view.php预览,音频和视频文件可以用player.php预览。

最后经过考虑,决定不大幅度改动原程序的文件,做如下改动:

  1. 参考 player.php 代码,新写一个 viewer.php 用于预览文件;
  2. 不改动 file.php 自带的预览功能,在页面增加一个“文件预览”按钮;
  3. 修改 index.php 文件在首页的文件列表增加一个预览链接;
  4. 在管理后台的文件列表也增加一个预览链接的,需要改动 admin/file.php 和 admin/ajax_file.php 两个文件。

效果如下:
panfileview.png
panindex.png
panadminfile.png

具体效果演示可以访问我的网盘查看:
https://pan.chenzhizuo.com/

改动的文件如下,可以下载部署到你自己的彩虹外链网盘项目中。可以按需选择要修改的位置,修改或替换对应文件:
viewer.php -彩虹外链网盘文件预览插件
file.php -彩虹外链网盘文件查看页
index.php -彩虹外链网盘首页文件
admin/ajax_file.php -彩虹外链网盘管理员后台文件列表获取
admin/file.php -彩虹外链网盘管理员后台文件列表

注:彩虹外链网盘V5.6 (Build 1532)

我有信息囤积症,不算严重,喜欢注册收集收藏一些无用的东西。上网23年,收集了一种又一种有用无用的信息,浪费了很多时间和精力。前几年发现这个问题,在有收集的想法时,就开始有意识的自主控制,不要进行收集行为。同时也逐渐的把之前收集的信息清理掉。

举个例子:
以前我特别喜欢注册各种邮箱后缀,不完全列表:
@qq.com
@vip.qq.com
@foxmail.com
@163.com
@126.com
@yeah.net
@aliyun.com
@yahoo.com
@yahoo.com.cn
@msn.com
@hotmail.com
@live.com
@live.cn
@outlook.com
@w.cn
@88.com
@111.com
@email.cn
@mail.com
@email.com
@usa.com
@sohu.com
@sina.com
@sina.cn
@gmail.com
@icloud.com
@china.com
@21cn.com
@facebook.com
@139.com
@189.cn
@wo.cn
现在这些后缀有的停止服务了,有的被我自己注销了。目前在注册使用各种网络服务时,选用特定的邮箱。

收藏癖:https://baike.baidu.com/item/%E6%94%B6%E8%97%8F%E7%99%96/1522046
囤积症:https://baike.baidu.com/item/%E5%9B%A4%E7%A7%AF%E7%97%85/8922100

<html>
<head>

<meta charset="UTF-8">
<meta id="viewport" name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>网站标题</title>
<style>
    html,
    body,
    iframe {
        width: 100%;
        height: 100%;
        padding: 0;
        margin: 0;
    }
    #wrap {
        width: 100%;
        height: 100%;
    }
    iframe {
        border: none;
    }
</style>

</head>
<body>

    <script>
    document.write("<style>body{visibility:hidden;}</style>");
    var desktopUrl = "/pc.html";
    var mobileUrl = "/mb.html";
    function isMobileDevice() {
        return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
    }
    function initFrame() {
        var frame = document.createElement("div");
        frame.id = "mobile-frame";
        frame.style.cssText = "position:fixed;top:0;left:0;z-index:9999;height:100vh;width:100vw;background:#fff";
        var iframe = document.createElement("iframe");
        iframe.id = "showcloneshengxiaon";
        iframe.style.cssText = "width:100%;height:100%;border:none";
        iframe.src = isMobileDevice() ? mobileUrl : desktopUrl;
        frame.appendChild(iframe);
        document.body.appendChild(frame);
        document.body.style.visibility = "visible";
        document.documentElement.style.overflow = "hidden";
        document.body.style.overflow = "hidden";
        var oMeta = document.createElement("meta");
        oMeta.name = "viewport";
        oMeta.content = "width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no";
        document.head.appendChild(oMeta);
    }
    document.addEventListener("DOMContentLoaded", initFrame);
</script>

</body>
</html>

宝塔面板

官网:https://www.bt.cn/
简介:宝塔(bt.cn),让运维简单高效。面板支持Linux与Windows系统。一键配置:LAMP/LNMP、网站、数据库、FTP、SSL,通过Web端轻松管理服务器。

宝塔Linux面板
宝塔Windows面板

宝塔面板是我用的第一款服务器面板,我以前用的都是Windows系统的服务器,最常用的就Windows宝塔。最近几个月迷上了Linux系统的服务器,前几天也把本博客迁移到了Linux服务器上,本博服务器就是宝塔Linux面板。


1Panel

官网:https://1panel.cn/
简介:1Panel - 现代化、开源的Linux服务器运维管理面板。

1Panel
1Panel开源项目

其实我服务器上并没有使用1Panel,全是宝塔。我飞牛NAS上用的是1Panel,从飞牛应用商店里安装的,目前仅限于学习体验,暂时还没有大面积使用1Panel。


GMSSH

官网:https://www.gm.cn/
简介:GMSSH | 下一代 AI 驱动的可视化 SSH 客户端 & 服务器运维面板 (兼容 Windows/Mac/Linux)。告别繁琐命令行,GMSSH 提供类桌面式操作体验,集成 Docker 管理、LNMP 环境一键配置及 Gemius AI 智能助手。支持多端同步与 MFA 安全认证,让 Linux 运维像操作本地电脑一样简单。

GMSSH
GMSSH Web在线版

我电脑上现在安装了GMSSH,连接了所有服务器,但并没有使用GMSSH宣传的特色功能。反倒用它查看服务器运行状态,看看有没有宕机,以及执行SSH命令。


飞牛 FnOS

官网:https://fnnas.com/
简介:飞牛fnOS是由骨灰级玩家团队倾心打造的NAS系统,融合AI本地端模型,致力于为家庭和企业提供高效、安全的存储解决方案。基于Linux内核(Debian发行版)深度开发,兼容主流x86硬件设备,支持自由组装NAS和扩展外部存储。

FnOS下载

我的NAS使用的就是飞牛fnOS。在接触FnOS之前,我只会用Windows系统,包括电脑和服务器。使用了FnOS之后才逐渐深入了解了Linux系统,慢慢的服务器也都转了Linux。我在其中一台服务器上安装了FnOS,体验了有公网的NAS。不过因为存储容量和流量费用的问题,主要用的还是本地NAS。


待体验的服务器管理软件:

  • Kangle
  • cPanel

iPhone系列:
iPhone 6s - 闲置
iPhone 6s Plus - 闲置
iPhone 8 - 二儿子的玩具
iPhone XR - 爸爸的手机
iPhone 11 - 岳父的手机
iPhone 12 Pro Max - 大儿子的玩具
iPhone 13 - 妈妈的手机
iPhone 13 - 老婆的3号手机(工作)
iPhone 13 mini - 我的备用机
iPhone 14 Pro - 我的主力机
iPhone 15 - 老婆的2号手机(工作)
iPhone 17 - 老婆的1号手机(工作)

iPad系列:
iPad mini 2 - 岳父岳母刷视频
iPad mini 4 - 二店工作机
iPad mini 4 - 三店工作机
iPad Air 2 - 大儿子的玩具
iPad mini (第五代) - 一店工作机3号
iPad mini (第五代) - 一店工作机2号
iPad mini (第五代) - 一店工作机1号
iPad mini (第六代) - 我的工作机

损坏的设备:
iPhone 6s Plus - 进水损坏
iPhone mini 4 - 硬盘损坏无法进系统