PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
Copy Clear
Copy Format Clear
<?php $transcription = ''; if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['mp3file'])) { $uploadDir = 'uploads/'; $mp3File = $uploadDir . basename($_FILES['mp3file']['name']); // Vérifiez si le fichier est bien un MP3 $fileType = pathinfo($mp3File, PATHINFO_EXTENSION); if ($fileType != 'mp3') { $transcription = "Seuls les fichiers MP3 sont autorisés."; } else { // Téléchargement du fichier if (move_uploaded_file($_FILES['mp3file']['tmp_name'], $mp3File)) { // Exécuter le script Python pour analyser le fichier $outputFileName = pathinfo($mp3File, PATHINFO_FILENAME) . '.txt'; $command = escapeshellcmd("python3 transcribe.py " . escapeshellarg($mp3File) . " " . escapeshellarg($uploadDir . $outputFileName)); $output = shell_exec($command); // Vérifier si le fichier texte a été créé et lire le contenu if (file_exists($uploadDir . $outputFileName)) { $transcription = file_get_contents($uploadDir . $outputFileName); } else { $transcription = "Erreur lors de la transcription."; } } else { $transcription = "Erreur lors du téléchargement du fichier."; } } } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Uploader un fichier MP3</title> <style> body { font-family: Arial, sans-serif; background-color: #f4f4f9; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; } .upload-container { background-color: #ffffff; border-radius: 10px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); padding: 30px; text-align: center; width: 400px; } .upload-container h1 { font-size: 24px; color: #333; margin-bottom: 20px; } .upload-container input[type="file"] { display: none; } .upload-container label { display: inline-block; padding: 10px 20px; background-color: #007bff; color: white; border-radius: 5px; cursor: pointer; font-size: 16px; } .upload-container label:hover { background-color: #0056b3; } .upload-container input[type="submit"] { margin-top: 20px; padding: 10px 20px; background-color: #28a745; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; } .upload-container input[type="submit"]:hover { background-color: #218838; } .upload-container .file-name { margin-top: 15px; font-size: 14px; color: #555; } .upload-container .transcription { margin-top: 20px; text-align: left; font-size: 14px; color: #333; white-space: pre-wrap; border: 1px solid #ddd; padding: 10px; background-color: #f9f9f9; border-radius: 5px; } </style> </head> <body> <div class="upload-container"> <h1>Uploader un fichier MP3</h1> <form action="index.php" method="post" enctype="multipart/form-data"> <input type="file" name="mp3file" id="mp3file" accept=".mp3" onchange="displayFileName()"> <label for="mp3file">Choisir un fichier</label> <div class="file-name" id="file-name">Aucun fichier sélectionné</div> <input type="submit" value="Télécharger et Transcrire"> </form> <?php if (!empty($transcription)): ?> <div class="transcription"> <h2>Transcription :</h2> <span><?php echo htmlspecialchars($transcription, ENT_QUOTES, 'UTF-8'); ?></span> </div> <?php endif; ?> </div> <script> function displayFileName() { var fileInput = document.getElementById('mp3file'); var fileName = fileInput.files[0] ? fileInput.files[0].name : 'Aucun fichier sélectionné'; document.getElementById('file-name').textContent = fileName; } </script> </body> </html>
Show:  
Copy Clear