'The audio file was not uploaded successfully.')); exit; } // Get the file name and extension of the audio file $audio_name = $audio_file['name']; $audio_extension = pathinfo($audio_name, PATHINFO_EXTENSION); // Check if the audio file is a valid audio format if (!in_array($audio_extension, array('m4a', 'mp3', 'wav'))) { echo json_encode(array('status' => 'The audio file is not a valid format.')); exit; } // MIME Type validation using finfo $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime_type = finfo_file($finfo, $audio_file['tmp_name']); finfo_close($finfo); $allowed_mime_types = ['audio/mp4', 'audio/mpeg', 'audio/wav', 'audio/x-m4a']; if (!in_array($mime_type, $allowed_mime_types)) { echo json_encode(array('status' => 'The audio file is not a valid format (MIME mismatch).')); exit; } // Generate a new filename using the passenger ID to avoid conflicts $new_filename = $audio_name . '.' . $audio_extension; // Move the audio file to the uploads directory with the new filename $target_dir = "upload_audio/"; if (!is_dir($target_dir)) { mkdir($target_dir, 0755, true); // Create directory if it doesn't exist } $target_file = $target_dir . $new_filename; if (!move_uploaded_file($audio_file['tmp_name'], $target_file)) { error_log("Failed to move file to target directory: " . print_r($audio_file, true)); echo json_encode(array('status' => 'Failed to move the audio file.')); exit; } // Construct the link to the uploaded audio file $base_url = 'https://api.intaleq.xyz/intaleq_v3/upload_audio/'; // Updated to match Intaleq V3 $linkAudio = $base_url . $new_filename; // Respond with success and the audio file link echo json_encode(array('status' => 'Audio file uploaded successfully.', 'link' => $linkAudio)); // Close the database connection if it was established if (isset($conn)) { mysqli_close($conn); } ?>