asfasfaa 5 months ago
asfasfaa #coding

PHP script SRT to VTT Converter

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:

  1. index.php: Halaman ini berisi formulir untuk mengunggah file SRT. Setelah file diunggah, formulir akan mengirimkan file ke conv.php untuk diproses.
  2. conv.php: Skrip ini menangani unggahan file, memvalidasi file, mengonversinya dari SRT ke VTT, dan menyimpan file VTT. Setelah konversi, pengguna akan dialihkan kembali ke index.php dengan pesan yang memberi tahu apakah konversi berhasil atau tidak.

Cara Menggunakan:

  1. Buat direktori sub/ dan simpan kedua file (index.php dan conv.php) di dalamnya.
  2. Akses index.php melalui browser.
  3. Unggah file SRT dan klik tombol "Konversi".
  4. Anda akan menerima umpan balik mengenai status konversi


source : https://www.blackbox.ai/chat/te5LPNs
0
252
Remote upload PHP Script

Remote upload PHP Script

1743468932.jpg
asfasfaa
5 months ago
Video Thumbnail Generator

Video Thumbnail Generator

1743468932.jpg
asfasfaa
5 months ago

Check File

This script will help you efficiently check for the existence of file across multiple URLs...

1743468932.jpg
asfasfaa
5 months ago

Host Live Checker

1743468932.jpg
asfasfaa
4 months ago
Cara Merender dan menambahkan logo pake FFmpeg

Cara Merender dan menambahkan logo pake FFmpeg

1743468932.jpg
asfasfaa
4 months ago