PHP开源 | 厂区电动车上牌登记系统V1.1 - 身份证水印防盗 + 多条件查询 + Excel导出
PHP开源 | 厂区电动车上牌登记系统V1.1
标签
PHP, MySQL, 电动车管理, 上牌系统, 开源系统, 身份证水印, 企业内部系统, Bootstrap, PDO, 车辆登记
一、系统简介
厂区电动车上牌登记系统是一款面向企业内部使用的电动车、电动摩托车、三轮车、四轮车登记管理平台。系统支持员工车辆信息录入、身份证照片上传(自动水印防盗)、多条件查询、数据导出等功能,适用于工厂、园区、社区等车辆管理需求。
系统版本:V1.1
技术栈:PHP 7.0+ / MySQL 5.6+ / Bootstrap 4 / PDO
授权方式:免费开源,可用于个人学习、企业内部使用



二、核心功能
2.1 车辆登记模块
支持4种车辆类型:两轮电动自行车、两轮电动摩托车、三轮电动车、四轮电动车
自动生成车牌编号(GC0001格式,可配置前缀)
完整表单验证:身份证18位校验、手机号格式、车架号/电机号长度检查
支持5张图片上传:身份证正反面、购车凭证、车辆正侧面照片
上传进度条实时显示
2.2 身份证水印防盗(重点功能)
上传身份证照片自动添加平铺水印
水印覆盖整张图片,即使裁剪也无法恢复完整信息
支持网格线叠加,增强防篡改能力
后台可自定义水印开关和文字内容
无中文字体服务器自动切换英文水印
2.3 信息查询模块
支持4种查询方式:车牌号、身份证号、车架号、手机号
实时Ajax查询,身份证号自动校验格式
查询结果展示完整车辆信息,含照片缩略图
点击图片可查看大图
2.4 后台管理系统
数据看板:展示登记总数、正常/注销数量、各类型车辆统计
分页列表:支持查看、注销车辆记录
系统设置:水印开关、文字内容配置
Excel导出:导出全部登记数据
操作日志:记录管理员关键操作
2.5 安全特性
参数化查询,防SQL注入
表单XSS过滤
密码bcrypt加密存储
管理员登录验证
车架号、身份证号唯一性校验
三、技术架构
3.1 目录结构
vehicle-registration/
├── index.php 首页-车辆登记表单
├── search.php 信息查询页
├── print.php 打印功能
├── config.php 核心配置文件
├── install.php 一键安装向导
├── database.sql 数据库结构文件
├── admin/
│ ├── index.php 后台管理主页
│ └── login.php 管理员登录
├── api/
│ ├── submit.php 登记提交接口
│ ├── query.php 查询接口
│ └── export.php Excel导出接口
└── assets/
├── css/style.css 样式文件
├── js/validate.js 前端验证脚本
└── uploads/ 上传文件目录
3.2 数据库设计
vehicles表 车辆登记记录
| 字段 | 类型 | 说明 |
||||
| id | INT | 主键自增 |
| plate_number | VARCHAR(20) | 车牌号/登记编号 |
| owner_name | VARCHAR(50) | 车主姓名 |
| id_card | VARCHAR(18) | 身份证号(唯一) |
| phone | VARCHAR(11) | 手机号 |
| vin | VARCHAR(50) | 车架号(唯一) |
| motor_number | VARCHAR(50) | 电机号 |
| vehicle_type | TINYINT | 车辆类型(1-4) |
| department | VARCHAR(100) | 所属部门 |
| proof_image | VARCHAR(255) | 证明照片路径 |
| front_image | VARCHAR(255) | 正面照片路径 |
| side_image | VARCHAR(255) | 侧面照片路径 |
| id_card_front | VARCHAR(255) | 身份证正面路径 |
| id_card_back | VARCHAR(255) | 身份证背面路径 |
| register_date | DATETIME | 登记日期 |
| status | TINYINT | 状态(1正常/0注销) |
admins表 管理员账户
| 字段 | 说明 |
|||
| id | 主键 |
| username | 用户名(唯一) |
| password | bcrypt加密密码 |
| real_name | 真实姓名 |
| last_login | 最后登录时间 |
settings表 系统配置
添加链接描述
| 配置项 | 默认值 | 说明 |
|–|–||
| plate_prefix | GC | 车牌号前缀 |
| watermark_enabled | 1 | 水印开关 |
| watermark_text | 仅限本系统使用 禁止另作他用 | 水印文字 |
operation_logs表 操作日志
记录管理员所有关键操作,含操作人、对象、时间、IP地址
四、部署教程
4.1 环境要求
PHP 7.0 或更高版本
MySQL 5.6 或更高版本
PHP扩展:pdo、pdo_mysql、gd(可选,用于水印)
Web服务器:Apache/Nginx
4.2 快速部署步骤
Step 1:下载源码
将源码上传到网站根目录
Step 2:访问安装向导
浏览器打开 http://您的域名/install.php
Step 3:填写配置信息
数据库主机:localhost
数据库端口:3306
数据库名:vehicle_registration(会自动创建)
用户名:root
密码:您的MySQL密码
管理员账户:
用户名:admin
密码:admin888
Step 4:完成安装
点击"测试数据库连接",通过后点击"开始安装"
Step 5:访问系统
| 入口 | 地址 |
|||
| 前台登记 | http://您的域名/index.php |
| 后台管理 | http://您的域名/admin/ |
| 默认账号 | admin / admin888 |
4.3 Nginx配置(可选)
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
4.4 目录权限
确保以下目录有写入权限:assets/uploads/ 用于存储上传的图片
五、使用说明
5.1 员工端操作流程
- 打开登记页面,填写车牌号(可点击自动生成)
- 填写车主姓名、身份证号、手机号
- 填写车架号、电机号,选择车辆类型
- 上传5张照片(身份证正反面、证明、车辆正侧面)
- 点击提交,系统自动验证并保存
- 提交成功后自动弹出打印窗口
5.2 管理员操作流程
- 登录后台管理系统
- 查看数据看板了解登记概况
- 可对车辆进行注销操作
- 可导出Excel进行离线备份
- 可在设置中修改水印配置
5.3 注意事项
身份证照片上传后会自动添加水印防盗
水印功能可在后台开启/关闭
车架号和身份证号不可重复登记
建议使用Chrome/Firefox浏览器访问
六、代码亮点
6.1 水印防盗实现
// 平铺水印覆盖整张图片
for ($y = -$height; $y < $height * 2; $y += $spacingY) {
for ($x = -$width; $x < $width * 2; $x += $spacingX) {
imagettftext($image, $fontSize, 0, $x, $y, $textColor, $fontFile, $waterText);
}
}
// 网格线增强防篡改
for ($x = 0; $x < $width; $x += 100) {
imageline($image, $x, 0, $x, $height, $gridColor);
}
6.2 身份证号码校验
// 加权因子校验18位身份证
$factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
$parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
6.3 数据库单例模式
class Database {
private static $instance = null;
private $connection;
private function __construct() {
$dsn = "mysql:host=" . DB_HOST . ";port=" . DB_PORT . ";dbname=" . DB_NAME;
$this->connection = new PDO($dsn, DB_USER, DB_PASS, $options);
}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
}
七、开源协议
本系统可免费用于个人学习、企业内部使用。禁止用于商业牟利或公开传播。
八、更新日志
V1.1 (当前版本)
新增身份证照片平铺水印功能
新增网格线防篡改
优化水印在无中文字体时的兼容性
修复若干已知问题
V1.0
初始版本发布
支持车辆登记、查询、后台管理
支持Excel数据导出
支持多条件查询
九、界面预览
车辆登记页面
表单分组:基础信息、车辆核心信息、上传材料
实时表单验证
图片上传预览
后台管理页面
数据统计看板
分页列表展示
操作日志记录
水印效果
平铺文字水印覆盖全图
半透明网格线叠加
防裁剪、防盗用
下载地址:上牌系统下载
十、联系与支持
如有问题或建议,请联系开发者。
© 西数资源 版权所有
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)