diff --git a/includes/db.php b/includes/db.php index c0e5a05..b484268 100644 --- a/includes/db.php +++ b/includes/db.php @@ -2,14 +2,34 @@ // 数据库连接和初始化 $data_dir = __DIR__ . '/../data'; +$apps_dir = $data_dir . '/apps'; +$uploads_dir = $data_dir . '/uploads'; $db_path = $data_dir . '/database.db'; $is_new_db = !file_exists($db_path); -// 检查 data 目录是否存在和可写 +// 自动创建目录 if (!is_dir($data_dir)) { - die("错误: data 目录不存在。请创建目录并设置权限: mkdir -p data && chmod 777 data"); + if (!mkdir($data_dir, 0777, true)) { + die("错误: 无法创建 data 目录。请手动创建并设置权限: mkdir -p data && chmod 777 data"); + } + @chmod($data_dir, 0777); } +if (!is_dir($apps_dir)) { + if (!mkdir($apps_dir, 0777, true)) { + die("错误: 无法创建 data/apps 目录"); + } + @chmod($apps_dir, 0777); +} + +if (!is_dir($uploads_dir)) { + if (!mkdir($uploads_dir, 0777, true)) { + die("错误: 无法创建 data/uploads 目录"); + } + @chmod($uploads_dir, 0777); +} + +// 检查目录是否可写 if (!is_writable($data_dir)) { die("错误: data 目录不可写。请设置权限: chmod 777 data"); }