setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo json_encode(['error' => 'Ошибка подключения: ' . $e->getMessage()]); exit; } // Получаем данные из POST-запроса ОДИН РАЗ $input = json_decode(file_get_contents('php://input'), true); $dat = $input['dat'] ?? '2025-02-24'; $par = $input['par'] ?? 'Температура'; $reg = $input['reg'] ?? 'Мировой океан'; $lev = $input['lev'] ?? 0.5; $fileExtension = $input['fileExtension'] ?? 'png'; // Новый параметр // Проверка обязательных параметров if (!$dat || !$par || !$reg || !$lev) { echo json_encode(['error' => 'Не все параметры переданы']); exit; } // Форматируем дату $dat = date('Y-m-d', strtotime($dat)); try { // Запрос к базе с учетом типа файла $query = "SELECT image FROM mapar WHERE dat = :dat AND par = :par AND reg = :reg AND lev = :lev"; $stmt = $pdo->prepare($query); $stmt->execute([ ':dat' => $dat, ':par' => $par, ':reg' => $reg, ':lev' => $lev ]); $result = $stmt->fetch(PDO::FETCH_ASSOC); if ($result) { $imagePath = $result['image']; // Меняем расширение файла если нужно if ($fileExtension === 'gif') { $imagePath = preg_replace('/\.\w+$/', '.gif', $imagePath); } // Проверяем существование файла if (file_exists($_SERVER['DOCUMENT_ROOT'] . $imagePath)) { echo json_encode(['image' => $imagePath]); } else { echo json_encode(['error' => 'Файл не найден: ' . $imagePath]); } } else { echo json_encode(['error' => 'Данные не найдены в БД']); } } catch (PDOException $e) { echo json_encode(['error' => 'Ошибка запроса: ' . $e->getMessage()]); } ?>