1







XLRSTUDIO

XLRSTUDIO Logo

Envoyez votre fichier pour une masterisation automatique

Ton mastering en un clic !

” method=”post” enctype=”multipart/form-data” id=”uploadForm”>






Envoi Simple et Sécurisé

Téléchargez vos tracks en un clic. Notre plateforme guide vos pas pour un envoi rapide et sans tracas.

Mastering Instantané

Avec notre IA avancée, votre musique est sublimée instantanément, prête à impressionner vos auditeurs.

Télécharger

Vos sons, optimisés à la perfection, sont disponibles en téléchargement. Prêts pour le monde, en quelques formats au choix.

= 100) {
return false;
}
} else {
// Réinitialiser le compteur après 1 heure
$logs[$ip] = [‘last_download_time’ => $currentTime, ‘download_count’ => 0];
file_put_contents($logFile, json_encode($logs));
}
}
}
return true;
}

function updateDownloadLog($ip, $logFile) {
$currentTime = time();
if (file_exists($logFile)) {
$logs = json_decode(file_get_contents($logFile), true);
} else {
$logs = [];
}
if (isset($logs[$ip])) {
$logs[$ip][‘download_count’] += 1;
} else {
$logs[$ip] = [‘last_download_time’ => $currentTime, ‘download_count’ => 1];
}
file_put_contents($logFile, json_encode($logs));
}

$userIP = $_SERVER[‘REMOTE_ADDR’];

if ($_SERVER[“REQUEST_METHOD”] == “POST” && !empty($_FILES[“audioFile”])) {
// Vérifier si l’utilisateur peut télécharger
if (canDownload($userIP, $logFile)) {
$sftp = new SFTP($config[‘sftp_address’]);
if (!$sftp->login($config[‘sftp_username’], $config[‘sftp_password’])) {
exit(‘Échec de la connexion SFTP’);
}
$uploadedFile = $_FILES[“audioFile”][“tmp_name”];
$originalFileName = $_FILES[“audioFile”][“name”];
$remoteFilePath = ‘/var/www/html/public_html/’ . $originalFileName;

// Enregistrez l’heure actuelle avant de commencer l’envoi du fichier
$start_time = microtime(true);

if ($sftp->put($remoteFilePath, file_get_contents($uploadedFile))) {
// Enregistrez l’heure actuelle après avoir terminé l’envoi du fichier
$end_time = microtime(true);
// Calculez le temps d’envoi en soustrayant le temps de début du temps de fin
$upload_time = $end_time – $start_time;

echo ‘Fichier envoyé avec succès : ‘ . $remoteFilePath . ‘
‘;
echo ‘Temps d\’envoi : ‘ . round($upload_time, 2) . ‘ secondes
‘;

sleep(60); // Attente pour le traitement

$processedFileName = ‘mastered_’ . $originalFileName;
// Modifier ici le chemin de stockage pour le dossier “mastering”
$processedFilePath = ‘/var/www/html/public_html/’ . $processedFileName;
// Chemin modifié pour sauvegarder dans le dossier “mastering”
$localSavePath = ‘/home/u528270243/domains/xlrmixagemastering.com/public_html/mastering/’ . $processedFileName;

if ($sftp->get($processedFilePath, $localSavePath)) {
// Mettre à jour le log de téléchargement
updateDownloadLog($userIP, $logFile);

// En-têtes pour forcer le téléchargement
header(‘Content-Description: File Transfer’);
header(‘Content-Type: application/octet-stream’);
header(‘Content-Disposition: attachment; filename=”‘.basename($localSavePath).'”‘);
header(‘Expires: 0’);
header(‘Cache-Control: must-revalidate’);
header(‘Pragma: public’);
header(‘Content-Length: ‘ . filesize($localSavePath));
flush(); // Vider les tampons de sortie système

// Lire et envoyer le fichier
readfile($localSavePath);

// Supprimer le fichier du serveur après le téléchargement
unlink($localSavePath);

exit;
} else {
echo ‘Échec de la récupération du fichier traité.’;
}
} else {
echo ‘Échec de l\’envoi du fichier.’;
}
} else {
echo “Limite de téléchargement atteinte. Veuillez réessayer plus tard.”;
}
}

?>