'landed', // Опционально: можно изменить на нужный статус 'limit' => 10, // Ограничение результатов 'offset' => 0 // Начало пагинации ]; // URL API $apiUrl = "http://api.aviationstack.com/v1/flights"; // Параметры запроса $queryParams = array_merge( [ 'access_key' => $apiKey, 'flight_date' => $flightDate, 'flight_iata' => $flightIATA ], $additionalFilters ); // Формируем URL $url = $apiUrl . '?' . http_build_query($queryParams); // Логируем запрос writeLog("Отправка запроса к API: $url"); // Инициализация cURL $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); // Отправка запроса $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curlError = curl_error($ch); // Закрытие соединения curl_close($ch); // Логируем HTTP-код ответа writeLog("HTTP-код ответа: $httpCode"); // Проверяем ошибки cURL if ($curlError) { writeLog("Ошибка cURL: $curlError"); die("Ошибка cURL: $curlError"); } // Логируем тело ответа writeLog("Тело ответа: $response"); // Обрабатываем тело ответа $data = json_decode($response, true); if ($httpCode === 200 && isset($data['data'])) { foreach ($data['data'] as $flight) { $output = "Рейс: " . ($flight['flight']['iata'] ?? 'неизвестно') . PHP_EOL; $output .= "Дата: " . ($flight['flight_date'] ?? 'неизвестно') . PHP_EOL; $output .= "Статус: " . ($flight['flight_status'] ?? 'неизвестно') . PHP_EOL; $output .= "Аэропорт вылета: " . ($flight['departure']['airport'] ?? 'неизвестно') . PHP_EOL; $output .= "Запланированное время вылета: " . ($flight['departure']['scheduled'] ?? 'неизвестно') . PHP_EOL; $output .= "Фактическое время вылета: " . ($flight['departure']['actual'] ?? 'неизвестно') . PHP_EOL; $output .= "Аэропорт прилета: " . ($flight['arrival']['airport'] ?? 'неизвестно') . PHP_EOL; $output .= "Запланированное время прилета: " . ($flight['arrival']['scheduled'] ?? 'неизвестно') . PHP_EOL; $output .= "Фактическое время прилета: " . ($flight['arrival']['actual'] ?? 'неизвестно') . PHP_EOL; $output .= "Задержка вылета: " . ($flight['departure']['delay'] ?? 'неизвестно') . " минут" . PHP_EOL; $output .= "Задержка прилета: " . ($flight['arrival']['delay'] ?? 'неизвестно') . " минут" . PHP_EOL; $output .= str_repeat("-", 50) . PHP_EOL; // Выводим на экран echo nl2br($output); // Логируем данные о рейсе writeLog("Данные рейса:\n$output"); } } else { $error = isset($data['error']) ? json_encode($data['error']) : "Неизвестная ошибка"; writeLog("Ошибка: HTTP-код $httpCode, Тело ответа: $response"); echo "Ошибка: $error" . PHP_EOL; } ?>