41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
|
|
$response = [];
|
|
|
|
// The directory where recordings will be stored.
|
|
$uploadDir = 'uploads/';
|
|
|
|
// Ensure the upload directory exists and is writable.
|
|
if (!is_dir($uploadDir)) {
|
|
if (!mkdir($uploadDir, 0775, true)) {
|
|
$response = ['success' => false, 'message' => 'Failed to create upload directory.'];
|
|
echo json_encode($response);
|
|
exit;
|
|
}
|
|
}
|
|
|
|
// Get the raw POST data.
|
|
$audioData = file_get_contents('php://input');
|
|
|
|
if ($audioData) {
|
|
// Generate a unique filename.
|
|
$fileName = 'recording_' . date('Y-m-d_H-i-s') . '_' . uniqid() . '.wav';
|
|
$filePath = $uploadDir . $fileName;
|
|
|
|
// Save the file.
|
|
if (file_put_contents($filePath, $audioData)) {
|
|
$response['success'] = true;
|
|
$response['message'] = 'Audio saved successfully.';
|
|
$response['file_path'] = $filePath;
|
|
} else {
|
|
$response['success'] = false;
|
|
$response['message'] = 'Error saving audio file. Check directory permissions.';
|
|
}
|
|
} else {
|
|
$response['success'] = false;
|
|
$response['message'] = 'No audio data received.';
|
|
}
|
|
|
|
echo json_encode($response);
|
|
?>
|