基于PHP实现的easy管理系统

easy管理系统 2.0.1

easy管理系统 是一个多功能的 Web 管理平台,旨在简化项目管理、文件共享和协作流程。它集成了大创项目管理、在线文档生成、代码托管等多种功能,并提供了用户管理、系统设置、日志查看等后台管理能力。

✨ 功能特性

  • 统一管理平台:
    • 项目管理中心 (program_manage.php): 集中访问各类项目管理模块。
    • 首页 (home.php): 提供系统概览、公告、快捷入口和最近活动。
  • 大创论文交互传送系统:
    • 创建、管理和删除大创项目 (dachuang_mange.php, add_dachuang_project.php)。
    • 基于项目标签进行文件分类和上传 (dachuang.php, upload.php)。
  • 在线文档生成系统:
    • 创建、管理和删除在线文档项目 (onlinefile_manage.php, add_onlinefile_project.php)。
    • 动态定义表格结构(表头)。
    • 在线填写表单数据 (onlinefile.php)。
    • 保存并导出 (save_form_data.php, admin_download.php) 或生成 XLSX 模板 (generate_xlsx.php)。
  • 代码程序托管系统:
    • 创建、查看、编辑和删除代码仓库 (code_repository.php, repo_edit.php, repo_delete.php)。
    • 查看仓库文件列表和文件内容(支持文本、图片、Markdown 和基本 Office 文档预览) (repo_detail.php, get_file.php, get_file_list.php)。
    • 上传和删除仓库文件 (code_upload.php, delete_codefile.php)。
    • (基础)提交文件 (commit_file.php)。
  • 文件管理:
    • 集中查看、下载和删除各类上传的文件 (file_manager.php, delete_file.php)。
    • 控制文件的公开或私有状态 (toggle_visibility.php)。
  • 用户与权限管理:
    • 用户登录、注册和退出 (login.html, register.html, logout.php)。
    • 管理员 (root) 可管理所有用户(添加、查看、删除) (user_management.php, add_new_user.php, delete_user.php)。
  • 系统管理 (管理员):
    • 系统设置 (settings.php):
      • 发布和更新系统公告。
      • 配置联系方式。
      • 设置系统访问时间段。
      • 启用/禁用用户注册。
      • 更换系统背景图片。
      • 更新版权信息。
    • 日志查看 (view_logs.php): 查看用户操作日志,支持清空 (clear_logs.php)。
  • 互动与帮助:
    • 站内搜索 (search.php): 跨模块搜索项目、文档、仓库和帮助内容。
    • 帮助中心 (help.php): 提供常见问题解答和联系方式。
  • 响应式设计: 基础的响应式布局,适应不同屏幕尺寸。

📸 功能预览

以下是 easy管理系统 部分功能的界面截图:


登录页面


用户注册页面

系统首页概览 (上半部分)

系统首页概览 (下半部分)

项目管理

项目管理入口页面

大创项目详情与文件上传页面

在线文档填写页面

代码仓库列表与创建页面

代码仓库文件列表

代码文件查看与编辑界面

文件与用户管理

文件下载与管理页面

用户管理页面 (管理员)

系统功能

系统设置页面 (公告、联系方式)

系统设置页面 (访问时间、注册开关、背景图)

互动功能入口 (日志查看)

系统操作日志查看页面 (管理员)

帮助中心页面

站内搜索弹窗及结果展示

😁怎么样?这个还可以不?😄我知道你很急着拿代码,所以我先给你啦,→戳这里获取完整代码←感兴趣的朋友可以往下看技术和教程~

🛠️ 技术栈

  • 后端: PHP (>= 8.x 推荐)
  • 数据库: MySQL
  • 前端: HTML, CSS, JavaScript
  • 库与框架:
    • Bootstrap (CSS 框架)
    • Font Awesome (图标库)
    • jQuery (JavaScript 库)
    • Monaco Editor (代码查看器)
    • PHP Office (用于处理 Office 文档)
    • Parsedown (Markdown 解析)
    • Composer (PHP 依赖管理)

🚀 服务器安装与部署

  1. 环境要求:

    • Web 服务器 (如 IIS, Nginx, Apache)
    • PHP >= 8.x (建议 8.3 或更高版本,需要启用 pdo_mysql, gd, mbstring, fileinfo, xml, zip 等扩展)
    • MySQL 数据库
    • Composer
  2. 获取代码:

  3. 数据库设置:

    • 创建一个新的数据库 (例如 project_management),字符集建议使用 utf8mb4
    • 导入 script.sql 文件到创建的数据库中,这将创建所需的表结构。
    • 修改 config.php 文件,填入正确的数据库主机 (DB_HOST)、用户名 (DB_USER)、密码 (DB_PASS) 和数据库名 (DB_NAME)。
  4. 安装 PHP 依赖:

    • 确保已安装 Composer。
    • 在项目根目录下打开终端或命令行,运行 composer install 来安装所需的 PHP 库 (如 PhpOffice)。
  5. 服务器配置与目录权限:

    Windows Server (IIS)

    • 安装 IIS 和 PHP:
      • 通过 "服务器管理器" -> "添加角色和功能" 安装 "Web 服务器 (IIS)" 角色。
      • 确保在 IIS 功能中启用了 CGI 或 FastCGI 支持。
      • 下载并安装适用于 Windows 的 PHP 版本 (推荐 Non-Thread Safe 版本配合 FastCGI)。可以使用 PHP for Windows 官网 下载。
      • 配置 IIS 以识别 PHP:在 IIS 管理器中,选择服务器节点,打开 "处理程序映射",添加模块映射,将 *.php 请求映射到 php-cgi.exe (通常通过 FastCGI)。确保配置 php.ini (启用所需扩展,设置 extension_dir 等)。
    • 创建站点:
      • 在 IIS 管理器中,右键点击 "网站" -> "添加网站"。
      • 设置站点名称,将 "物理路径" 指向项目文件所在的根目录。
      • 配置绑定(IP 地址、端口、主机名)。
    • 目录权限:
      • 找到项目中的以下目录:uploads/, requests/, logs/ (如果需要文件日志), file/
      • 右键点击每个目录 -> "属性" -> "安全" 选项卡 -> "编辑"。
      • 添加 IIS 应用程序池的标识用户(默认为 IIS_IUSRS 或特定应用程序池名称,如 DefaultAppPool)并授予其 "修改" 和 "写入" 权限。可能需要先创建这些目录。
      • 对于 uploads/ 及其子目录,确保写入权限。
    • 测试: 访问站点 URL,检查是否能正常显示登录页面。

    Linux Server (Apache/Nginx)

    • 安装 Web 服务器和 PHP:
      • Apache: sudo apt update && sudo apt install apache2 php libapache2-mod-php php-mysql php-gd php-mbstring php-xml php-zip php-fileinfo (Debian/Ubuntu) 或 sudo yum update && sudo yum install httpd php php-mysqlnd php-gd php-mbstring php-xml php-zip php-pecl-fileinfo (CentOS/RHEL)。
      • Nginx + PHP-FPM: sudo apt update && sudo apt install nginx php-fpm php-mysql php-gd php-mbstring php-xml php-zip php-fileinfo (Debian/Ubuntu) 或 sudo yum update && sudo yum install nginx php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip (CentOS/RHEL)。
      • 确保启用了 PHP 和必要的模块。对于 Apache,可能需要 sudo a2enmod phpX.Y (X.Y 是 PHP 版本)。对于 Nginx,需要配置 PHP-FPM。
    • 配置 Web 服务器:
      • Apache: 创建或编辑虚拟主机配置文件 (通常在 /etc/apache2/sites-available//etc/httpd/conf.d/)。设置 DocumentRoot 指向项目根目录,配置 Directory 指令允许访问,确保 AllowOverride All (如果项目依赖 .htaccess,虽然此项目目前看不需要)。重启 Apache (sudo systemctl restart apache2httpd)。
      • Nginx: 创建或编辑服务器块配置文件 (通常在 /etc/nginx/sites-available//etc/nginx/conf.d/)。设置 root 指向项目根目录,配置 location ~ \.php$ 以将 PHP 请求传递给 PHP-FPM (例如 fastcgi_pass unix:/var/run/php/phpX.Y-fpm.sock;)。重启 Nginx (sudo systemctl restart nginx) 和 PHP-FPM (sudo systemctl restart phpX.Y-fpm)。
    • 目录权限:
      • 找到项目中的以下目录:uploads/, requests/, logs/ (如果需要文件日志), file/。如果它们不存在,请先创建 (mkdir uploads requests logs file)。
      • 确定 Web 服务器运行的用户(通常是 www-data 在 Debian/Ubuntu 上,apachenginx 在 CentOS/RHEL 上)。
      • 更改这些目录的所有者为 Web 服务器用户:sudo chown -R www-data:www-data uploads/ requests/ logs/ file/ (将 www-data:www-data 替换为实际用户和组)。
      • 设置适当的写入权限,例如:sudo chmod -R 755 uploads/ requests/ logs/ file/。对于需要写入的目录(如 uploads),有时可能需要 775 并确保你的部署用户也在 www-data 组中,或者更严格地只给 Web 服务器用户写入权限。
    • 测试: 访问配置的域名或 IP 地址,检查是否能正常显示登录页面。
  6. 初始用户:

    • 数据库脚本 (script.sql) 通常不包含初始用户。您需要手动注册一个用户,或者直接在 users 表中插入一个 root 用户记录(密码需要使用 PHP 的 password_hash() 函数生成)。第一个注册的用户通常没有特殊权限,需要管理员手动提升或直接创建 root 用户。
    • 重要: 系统内置 root 用户拥有最高权限,请务必设置一个强密码。

本地部署 (开发/测试)

除了服务器部署,您也可以在本地计算机上部署 easy管理系统 进行开发或测试。

Windows (使用 IIS)

  1. 启用 IIS 和 PHP:
    • 打开 "控制面板" -> "程序" -> "启用或关闭 Windows 功能"。
    • 勾选 "Internet Information Services" 及其下的 "Web 管理工具" 和 "万维网服务"。
    • 在 "万维网服务" -> "应用程序开发功能" 中,确保勾选了 "CGI"。
    • 下载并安装适用于 Windows 的 PHP 版本 (推荐 Non-Thread Safe 版本)。可以使用 PHP for Windows 官网 下载。
    • 解压 PHP 到一个目录,例如 C:\PHP
    • 配置 IIS 以识别 PHP:
      • 打开 "IIS 管理器" (可在 Windows 管理工具中找到)。
      • 选择您的计算机名节点,双击 "处理程序映射"。
      • 在右侧操作窗格中,点击 "添加模块映射"。
      • 请求路径填 *.php,模块选择 FastCgiModule,可执行文件指向 C:\PHP\php-cgi.exe (替换为您的实际路径),名称可填 PHP_via_FastCGI
      • 编辑 C:\PHP\php.ini 文件 (如果不存在,可以将 php.ini-developmentphp.ini-production 复制并重命名为 php.ini):
        • 取消注释并设置 extension_dir = "ext"
        • 取消注释所需的扩展,如 extension=pdo_mysql, extension=gd, extension=mbstring, extension=fileinfo, extension=openssl (xml 通常默认启用)。
        • 设置 cgi.force_redirect = 0
  2. 安装 MySQL:
    • 访问 MySQL Community Downloads 下载适用于 Windows 的 MySQL Community Server 安装程序。
    • 按照安装向导完成安装,过程中需要设置 root 用户的密码。
    • 确保 MySQL 服务正在运行 (可以在 Windows 服务中检查)。
  3. 安装 Composer:
    • 访问 Composer 官网 下载 Windows 安装程序 (Composer-Setup.exe) 并运行。
    • 安装过程中,它会要求您指定 php.exe 的路径 (例如 C:\PHP\php.exe)。
  4. 放置项目文件:
    • 将 easy管理系统 的所有文件和文件夹复制到 IIS 的默认站点目录 C:\inetpub\wwwroot\easyPMS 或您指定的其他本地目录。
  5. 数据库设置:
    • 可以使用 MySQL 命令行客户端或图形化工具 (如 MySQL Workbench 或 phpMyAdmin - 如果您另外安装了 Apache/Nginx + phpMyAdmin) 连接到本地 MySQL。
    • 登录 MySQL (用户 root,密码是您安装时设置的)。
    • 创建一个新的数据库: CREATE DATABASE project_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • 导入数据: mysql -u root -p project_management < C:\inetpub\wwwroot\easyPMS\script.sql (使用 CMD 或 PowerShell,并替换为实际路径)。
    • 编辑项目根目录下的 config.php 文件:
      • DB_HOST 通常是 localhost
      • DB_USERroot
      • DB_PASS 是您安装 MySQL 时设置的 root 密码。
      • DB_NAME 设置为 project_management
  6. 安装 PHP 依赖:
    • 打开命令提示符 (CMD) 或 PowerShell。
    • 使用 cd 命令切换到项目根目录 (例如 cd C:\inetpub\wwwroot\easyPMS)。
    • 运行 composer install
  7. 配置 IIS 站点:
    • 打开 IIS 管理器。
    • 右键点击 "网站" -> "添加网站" (或者使用默认网站)。
    • 设置站点名称,将 "物理路径" 指向您的项目根目录 (例如 C:\inetpub\wwwroot\easyPMS)。
    • 设置绑定 (通常是端口 80)。
  8. 目录权限:
    • 在项目根目录下手动创建 uploads, requests, logs, file 目录 (如果不存在)。
    • 右键点击这些目录 -> "属性" -> "安全" -> "编辑"。
    • 添加用户 IUSRIIS_IUSRS,并授予它们 "修改" 和 "写入" 权限。
  9. 访问系统:
    • 打开浏览器,访问 http://localhost/easyPMS (如果项目在子目录) 或 http://localhost (如果配置为根站点)。
  10. 初始用户:
    • 参考服务器部署部分的初始用户说明进行设置。

macOS (使用 Homebrew)

  1. 安装 Homebrew: 如果未安装,请访问 brew.sh 安装。
  2. 安装 PHP: brew install php (会安装最新稳定版,确保是 8.x)。安装后,按照提示将 PHP 添加到 PATH。
  3. 安装 MySQL: brew install mysql。启动 MySQL 服务: brew services start mysql。运行 mysql_secure_installation 设置 root 密码等安全选项。
  4. 安装 Web 服务器 (可选,可用 PHP 内建服务器):
    • Apache: macOS 内建 Apache,或 brew install httpd
    • Nginx: brew install nginx
    • 或者,直接使用 PHP 内建服务器进行开发测试。
  5. 安装 Composer: brew install composer
  6. 放置项目文件: 将项目文件放置在您选择的目录下 (例如 ~/Sites/easyPMS)。
  7. 数据库设置:
    • 使用终端登录 MySQL: mysql -u root -p (输入您设置的密码)。
    • 创建数据库: CREATE DATABASE project_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • 导入数据: mysql -u root -p project_management < /path/to/your/project/script.sql (替换为实际路径)。
    • 编辑 config.php,填入数据库信息 (用户 root,密码是您设置的,数据库名 project_management)。
  8. 安装 PHP 依赖:
    • 在终端中 cd 到项目根目录。
    • 运行 composer install
  9. 目录权限:
    • cd 到项目根目录。
    • mkdir uploads requests logs file (如果不存在)
    • chmod -R 777 uploads/ requests/ logs/ file/ (注意:777 权限过于宽松,仅建议本地开发使用)。
  10. 访问系统:
    • 使用 PHP 内建服务器: 在项目根目录运行 php -S localhost:8000。然后在浏览器访问 http://localhost:8000
    • 使用 Apache/Nginx: 配置虚拟主机指向项目目录,然后通过配置的地址访问。
  11. 初始用户:
    • 参考服务器部署部分的初始用户说明进行设置。

Linux (Ubuntu/Debian 示例)

推荐使用系统的包管理器安装 LAMP/LEMP 或单独安装组件。

  1. 安装 LAMP/LEMP 和 MySQL:
    • LAMP (Apache): sudo apt update && sudo apt install apache2 php libapache2-mod-php php-mysql php-gd php-mbstring php-xml php-zip php-fileinfo mysql-server composer
    • LEMP (Nginx): sudo apt update && sudo apt install nginx php-fpm php-mysql php-gd php-mbstring php-xml php-zip php-fileinfo mysql-server composer
    • MySQL 安全设置: 运行 sudo mysql_secure_installation 设置 root 密码等。
  2. 放置项目文件:
    • 将项目文件复制到 Apache 的默认 Web 根目录 /var/www/html/easyPMS 或 Nginx 的相应目录 (可能相同或自定义)。
    • 更改文件所有权,使其属于 Web 服务器用户 (通常是 www-data): sudo chown -R $USER:$USER /var/www/html/easyPMS (本地开发建议使用当前用户,避免权限复杂化,或者 sudo chown -R www-data:www-data /var/www/html/easyPMS 如果坚持用 www-data)。
  3. 数据库设置:
    • 登录 MySQL: sudo mysql -u root -p
    • 创建数据库: CREATE DATABASE project_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • 导入数据: sudo mysql -u root -p project_management < /var/www/html/easyPMS/script.sql
    • 编辑 config.php,填入数据库信息 (用户 root,密码是您设置的,数据库名 project_management)。
  4. 安装 PHP 依赖:
    • cd /var/www/html/easyPMS
    • 运行 composer install
  5. 目录权限:
    • cd /var/www/html/easyPMS
    • 创建目录 (如果不存在): mkdir uploads requests logs file
    • 设置权限: sudo chown -R $USER:$USER uploads/ requests/ logs/ file/ (如果前面用了当前用户) 或 sudo chown -R www-data:www-data ...,然后 sudo chmod -R 755 uploads/ requests/ logs/ file/
  6. Web 服务器配置 (如果未使用默认目录):
    • 如果项目放在非默认目录,需要配置 Apache 虚拟主机或 Nginx 服务器块指向项目目录。
  7. 访问系统:
    • 打开浏览器,访问 http://localhost/easyPMS
  8. 初始用户:
    • 参考服务器部署部分的初始用户说明进行设置。

💡 使用说明

  1. 访问: 通过浏览器访问您配置的服务器地址、域名或本地地址 (如 http://localhost/easyPMS)。
  2. 登录/注册:
    • 使用 login.html 页面进行登录。
    • 如果注册功能开启(可在系统设置中配置),使用 register.html 注册新用户。
  3. 导航: 使用左侧边栏在不同的功能模块之间切换。
  4. 管理员 (root) :
    • 可以访问 "人员管理"、"系统设置" 和 "互动功能" (日志) 等特殊菜单。
    • 拥有删除项目、管理用户、修改系统配置等权限。
  5. 普通用户 :
    • 可以访问 "项目管理"、"文件下载" 和 "帮助中心"。
    • 只能管理自己创建的项目/仓库,或访问被设置为公开的内容。

📁 目录结构

复制代码
.
├── css/                 # CSS 样式文件 (Bootstrap, FontAwesome, 自定义)
├── js/                  # JavaScript 文件 (jQuery, Bootstrap, Monaco Editor)
├── uploads/             # 用户上传文件的存储目录
│   └── code/            # 代码仓库上传文件的子目录
├── requests/            # 在线文档请求数据的存储目录 (JSON)
├── file/                # 存放系统文件,如背景图
├── logs/                # PHP 错误日志目录 (可选)
├── vendor/              # Composer 安装的依赖库
├── add_dachuang_project.php # 添加大创项目页面
├── add_new_user.php     # 添加新用户页面
├── add_onlinefile_project.php # 添加在线文档项目页面
├── code_repository.php  # 代码仓库管理主页
├── config.php           # 数据库和基本配置
├── Database.php         # 数据库操作类
├── dachuang_mange.php   # 大创项目管理主页
├── file_manager.php     # 文件下载/管理页面
├── home.php             # 系统首页
├── help.php             # 帮助中心页面
├── login.html           # 登录页面
├── login.php            # 登录处理逻辑
├── logout.php           # 退出登录逻辑
├── onlinefile_manage.php # 在线文档管理主页
├── program_manage.php   # 项目管理聚合页面
├── register.html        # 注册页面
├── register.php         # 注册处理逻辑
├── repo_detail.php      # 代码仓库详情页
├── search.php           # 搜索处理逻辑
├── settings.php         # 系统设置页面
├── sidebar_template.php # 左侧导航栏模板
├── user_management.php  # 用户管理页面
├── composer.json        # Composer 依赖定义
├── script.sql           # 数据库结构文件
└── README.md            # 本文件

☎️ 问题联系

  • 邮箱:[email protected]
  • 有问题可以及时发送gitee站内邮箱给我
  • 如果您使用了我的项目,希望可以通过CSDN的站内信通知我一声
  • 如果您有好的功能建议,可以一同创作、优化

🙏 致谢

相关推荐
keenx1 天前
centos7.0无法安装php8.2/8.3
centos·php
toooooop81 天前
openssl_error_string() 不要依赖错误信息作为逻辑判断
php·openssl
firshman_start1 天前
第六章,BGP---边界网关协议
开发语言·网络·php
~央千澈~1 天前
域名与官网的迷思:数字身份认证的全球困境与实践解方-优雅草卓伊凡
开发语言·php
帅云毅2 天前
文件操作--文件包含漏洞
学习·web安全·php·xss·印象笔记
深山技术宅2 天前
Laravel 12 实现 API 登录令牌认证
php·laravel
Charlotte's diary2 天前
计算机网络 - stp生成树实验
开发语言·计算机网络·php·大作业
app1e2342 天前
ctfshow web入门 php特性(89-115)
android·前端·php
深山技术宅2 天前
Laravel 12 实现 OAuth2 登录
php·laravel