Skip to content

huahaotech/PHP_Markdown_Blog

Repository files navigation

博客后台管理系统

本项目是一个基于 PHP + Editor.md 的简易博客后台管理系统,支持文章管理、图片管理、附件(含 PDF 预览)管理、富文本编辑与附件插入等功能。前端采用 HTML/CSS/JavaScript,后端采用 PHP 实现,适合个人或小型团队搭建和使用。


主要功能

  • 文章管理

    • 新建、编辑、删除文章(支持 Markdown 格式)
    • 文章元数据(标题、日期)自动保存
  • 图片管理

    • 支持图片上传、删除
    • 可在文章编辑器中插入图片
  • 附件管理

    • 支持多种附件格式上传(PDF、Word、Excel、压缩包等)
    • 附件上传后自动保存原始文件名映射,后台管理一目了然
    • 支持附件下载和删除
    • PDF 文件支持网页内预览
    • 附件与图片分离管理,避免混乱
  • 文章编辑器

    • 集成 Editor.md
    • 支持 Markdown 语法
    • 独立图片上传按钮,图片自动插入内容
    • 独立附件上传按钮,上传后以原始文件名自动生成 Markdown 链接插入内容
  • 安全与管理

    • 简单的登录验证
    • 仅登录用户可操作后台
    • 所有上传的文件均存储于 /uploads/ 目录,附件信息统一映射管理
    • 提供密码哈希生成工具(password_hash_web.php),用于安全生成符合系统要求的密码哈希值,避免明文存储密码

目录结构

/admin           # 后台主要页面
    write.php        # 写/编辑文章页面
    manage.php       # 文章管理页面
    attachments.php  # 附件管理页面
    images.php       # 图片管理页面
    delete_attachment.php # 附件删除接口
/assets          # 静态资源
    editor.md/       # Editor.md 编辑器及依赖
    admin.css        # 后台样式
/uploads         # 所有上传文件存储目录
    attachments.json # 附件原名映射表
/config.php      # 配置文件
/upload.php      # 图片上传接口
/upload_attachment.php # 附件上传接口

安装与使用

  1. 环境要求:

    • PHP 7.0+
    • 支持 file_get_contentsfile_put_contentsjson_encode 等常用函数
    • 推荐使用 Nginx/Apache
  2. 部署步骤:

    1. 克隆或下载本项目代码到服务器目录
    2. 通过浏览器访问密码哈希生成工具:http://你的域名/password_hash_web.php(用于生成管理员密码哈希值)
    3. 配置 /config.php(如有登录信息等)
    4. 确保 /uploads 目录有写权限
    5. 访问 /admin/login.php 登录后台,开始管理博客内容
  3. 上传与管理说明:

    • 上传的所有非图片文件均视为“附件”,会保存原始文件名映射
    • 附件管理、图片管理分开,互不干扰
    • 删除附件会同步删除其映射关系

常见问题

  • Q: 附件上传后文件名变了怎么办?

    • 系统自动保存原始文件名,后台、编辑器、下载均展示原名
  • Q: PDF 为何可以直接预览?

    • 后台集成了 PDF 预览弹窗,点击即可在线查看,无需下载
  • Q: 如何插入本地图片或附件到文章?

    • 在写文章页面,点击“上传图片”或“上传附件”按钮,上传后会自动插入到编辑器内容中
  • Q: 如何扩展支持更多附件类型?

    • 修改 upload_attachment.php$allow 数组即可

鸣谢

  • Editor.md - 强大的 Markdown 编辑器
  • 本项目前端样式和部分交互参考自开源社区

License

本项目开源,欢迎二次开发和自定义。请勿用于非法用途。

About

简易高速PHP+MARKDOWN博客系统,无需数据库。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors