全网站安装、功能介绍与模板开发指南
// 使用Composer安装 composer require phpmailer/phpmailer // 或手动下载PHPMailer库并放置在includes目录
支持将长URL缩短为短链接,可选择不同的域名和重定向类型
支持用户注册、登录、邮箱验证,以及VIP会员等级
支持添加多个域名,可设置为公用域名或私有域名
详细的点击统计,包括IP、浏览器、来源等信息
提供完整的RESTful API,支持通过API创建和管理短链接,适合集成到其他系统中。
模板文件存放在 public/templates/ 目录下,每个模板是一个独立的文件夹。
templates/
├── default/ # 默认模板
│ ├── header.php # 头部文件
│ ├── footer.php # 底部文件
│ ├── template.xml # 模板配置文件
│ ├── pages/ # 页面文件
│ │ ├── index.php # 首页
│ │ ├── about.php # 关于我们
│ │ ├── contact.php # 联系我们
│ │ └── ... # 其他页面
│ ├── css/ # CSS文件
│ └── js/ # JavaScript文件
└── test/ # 测试模板
└── ... # 相同结构
每个模板需要创建 template.xml 配置文件,用于定义模板信息。
<?xml version="1.0" encoding="UTF-8"?>
<template>
<name>默认模板</name>
<description>系统默认模板</description>
<version>1.0.0</version>
<author>System</author>
<preview>/public/templates/default/preview.png</preview>
</template>
header.php 包含网站头部、导航栏和CSS/JS引用footer.php 包含网站底部、版权信息和页脚脚本pages/ 目录下,每个页面对应一个PHP文件<?php
// pages/index.php
?>
<div class="container">
<h1>首页</h1>
<p>欢迎使用短链接服务</p>
<!-- 短链接生成表单 -->
<form method="POST">
<div class="form-group">
<label for="url">长链接</label>
<input type="url" class="form-control" id="url" name="url" required>
</div>
<button type="submit" class="btn btn-primary">生成短链接</button>
</form>
</div>
模板中可以使用以下变量:
$pdo:数据库连接对象$template:当前模板名称$templatePath:当前模板路径getConfig($pdo, 'key'):获取系统配置getCurrentUserId():获取当前登录用户ID系统会自动检测模板目录,当添加新模板时:
public/templates/ 目录下创建新的模板文件夹header.php、footer.php 和 pages/index.phptemplate.xml 配置文件https://yourdomain.com/api/| 接口 | 描述 | 参数 |
|---|---|---|
| create.php | 创建短链接 | url, api_key |
| list.php | 获取链接列表 | api_key |
| info.php | 获取链接信息 | short_code, api_key |
| edit_shortlink.php | 编辑短链接 | id, url, api_key |
// PHP 示例
$apiKey = 'your_api_key';
$url = 'https://example.com/very/long/url';
$data = [
'url' => $url,
'api_key' => $apiKey
];
$ch = curl_init('https://yourdomain.com/api/create.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);
if ($result['success']) {
echo '短链接:' . $result['short_url'];
} else {
echo '错误:' . $result['message'];
}
chmod 755 public/templatesheader.php、footer.php 和 pages/index.phptemplate.xml 配置文件index.php 中添加 error_reporting(E_ALL);/var/log/apache2/ 或 /var/log/nginx/ 目录debug_template.php 调试模板检测功能