Berikut adalah contoh halaman PHP sederhana yang dapat Anda gunakan sebagai antarmuka depan untuk mengonversi file SRT ke VTT. Dalam contoh ini, kita akan membuat file index.php di dalam direktori sub/ yang memungkinkan pengguna untuk mengunggah file SRT dan mengonversinya menjadi file VTT.Struktur Direktori
/sub/ ├── conv.php └── index.php
File index.php
php <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Konverter SRT ke VTT</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } form { margin-bottom: 20px; } input[type="file"] { margin-bottom: 10px; } input[type="submit"] { padding: 10px 15px; } </style> </head> <body> <h1>Konverter SRT ke VTT</h1> <form action="conv.php" method="post" enctype="multipart/form-data"> <label for="srtFile">Unggah file SRT:</label><br> <input type="file" name="srtFile" id="srtFile" accept=".srt" required><br> <input type="submit" value="Konversi"> </form> <?php // Menampilkan pesan jika ada if (isset($_GET['message'])) { echo '<p>' . htmlspecialchars($_GET['message']) . '</p>'; } ?> </body> </html>
File conv.php
Berikut adalah modifikasi dari kode conv.php sebelumnya untuk menangani unggahan file dan memberikan umpan balik kepada pengguna.
php <?php function srtToVtt($srtContent) { $vttContent = "WEBVTT\n\n"; $lines = explode("\n", $srtContent); $count = count($lines); $i = 0; while ($i < $count) { if (trim($lines[$i]) === '') { $i++; continue; } $i++; // Skip index number if ($i < $count) { $timecode = trim($lines[$i]); $timecode = str_replace(',', '.', $timecode); $vttContent .= $timecode . "\n"; $i++; } while ($i < $count && trim($lines[$i]) !== '') { $vttContent .= trim($lines[$i]) . "\n"; $i++; } $vttContent .= "\n"; } return $vttContent; } if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['srtFile'])) { $srtFile = $_FILES['srtFile']; // Validasi file if ($srtFile['error'] === UPLOAD_ERR_OK) { $srtContent = file_get_contents($srtFile['tmp_name']); $vttContent = srtToVtt($srtContent); // Simpan file VTT $vttFileName = pathinfo($srtFile['name'], PATHINFO_FILENAME) . '.vtt'; file_put_contents($vttFileName, $vttContent); // Redirect dengan pesan sukses header("Location: index.php?message=Konversi berhasil! File VTT: $vttFileName"); exit; } else { // Redirect dengan pesan error header("Location: index.php?message=Terjadi kesalahan saat mengunggah file."); exit; } }
Penjelasan:
Cara Menggunakan:
source : https://www.blackbox.ai/chat/te5LPNs