Files
MovieLog_Server/config.php
T

54 lines
2.1 KiB
PHP
Raw Normal View History

<?php
// ============================================
// 文件: config.php
// 说明: 应用引导入口。负责错误报告、会话、路径常量、上传目录,
// 并加载 lib/ 下的各功能模块,最后初始化数据库。
// 所有页面统一通过 require_once 'config.php' 引入本文件。
// ============================================
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
// 跨域资源引用策略:本站页面加载对象存储(OSS / COS / 七牛)等第三方域名的图片时,
// 浏览器不发送 Referer,避免被云厂商的防盗链(bucket referer policy)拦成 403。
// 同源请求(本站自身的页面与接口)仍照常携带 Referer,不影响任何安全检查。
if (!headers_sent()) {
header('Referrer-Policy: same-origin');
}
// 项目根目录(lib/ 下的模块统一用它拼接绝对路径)
define('ROOT_DIR', __DIR__);
// 数据库路径
define('DB_PATH', ROOT_DIR . '/db/movies.db');
// 上传目录
define('UPLOAD_DIR', ROOT_DIR . '/uploads/');
define('POSTER_DIR', UPLOAD_DIR . 'posters/');
define('TICKET_DIR', UPLOAD_DIR . 'tickets/');
define('PHOTO_DIR', UPLOAD_DIR . 'photos/');
define('AVATAR_DIR', UPLOAD_DIR . 'avatars/');
// 创建上传目录
foreach ([POSTER_DIR, TICKET_DIR, PHOTO_DIR, AVATAR_DIR] as $dir) {
if (!is_dir($dir)) {
mkdir($dir, 0755, true);
}
}
// ===== 功能模块 =====
require_once ROOT_DIR . '/lib/db.php'; // 数据库连接与初始化
require_once ROOT_DIR . '/lib/settings.php'; // 系统设置读写
require_once ROOT_DIR . '/lib/storage.php'; // 对象存储门面(含各云厂商驱动)
require_once ROOT_DIR . '/lib/helpers.php'; // 通用工具函数
require_once ROOT_DIR . '/lib/theme.php'; // 界面配色主题(注册表 / 当前主题)
require_once ROOT_DIR . '/lib/auth.php'; // 登录校验与账号管理
require_once ROOT_DIR . '/lib/movies.php'; // 电影 / 影院 / 搜索
require_once ROOT_DIR . '/lib/reviews.php'; // 评价与评价下的讨论
require_once ROOT_DIR . '/lib/stats.php'; // 统计与年度报告
// 初始化数据库
initDB();