false, 'error' => 'Method not allowed']); exit; } // 获取文件名 $fileName = isset($_GET['fileName']) ? $_GET['fileName'] : ''; // 验证文件名 if (empty($fileName)) { http_response_code(400); echo json_encode(['success' => false, 'error' => '文件名不能为空']); exit; } // 清理文件名,防止路径遍历攻击 $fileName = basename($fileName); if (strpos($fileName, '..') !== false) { http_response_code(400); echo json_encode(['success' => false, 'error' => '无效的文件名']); exit; } // 获取文件路径 $saveDir = dirname(__DIR__) . '/design/files/'; $filePath = $saveDir . $fileName; // 检查文件是否存在 if (!file_exists($filePath)) { http_response_code(404); echo json_encode(['success' => false, 'error' => '文件不存在']); exit; } // 读取文件内容 try { $content = file_get_contents($filePath); if ($content === false) { throw new Exception('文件读取失败'); } // 尝试解析 JSON 验证格式 $json = json_decode($content, true); if (json_last_error() !== JSON_ERROR_NONE) { throw new Exception('文件格式错误: ' . json_last_error_msg()); } echo $content; } catch (Exception $e) { http_response_code(500); echo json_encode([ 'success' => false, 'error' => '读取失败: ' . $e->getMessage() ]); } ?>