Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah

Cara menggunakan PHP untuk melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah

PHPz
PHPzasal
2023-09-25 12:41:021297semak imbas

Cara menggunakan PHP untuk melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah

Cara menggunakan PHP untuk melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah

Hari ini dengan perkembangan teknologi rangkaian yang berterusan, muzik telah menjadi bahagian yang amat diperlukan dalam kehidupan orang ramai. Permintaan untuk muat turun muzik dalam talian dan sistem bermain juga semakin meningkat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis sistem muat turun dan main balik muzik dalam talian yang mudah, dan memberikan contoh kod khusus.

1. Bina persekitaran dan pangkalan data

Pertama, kami memerlukan persekitaran pelayan untuk menjalankan PHP dan mencipta pangkalan data untuk menyimpan maklumat tentang fail muzik. Gunakan XAMPP atau alat lain yang serupa untuk menyediakan persekitaran berjalan PHP, dan gunakan MySQL untuk mencipta pangkalan data bernama "muzik". Buat jadual bernama "lagu" dalam pangkalan data "muzik" Struktur jadual adalah seperti berikut:

CREATE TABLE `songs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `artist` varchar(255) NOT NULL,
  `file` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. Muat naik fail muzik

Dalam sistem, pengguna boleh memuat naik fail muzik melalui borang yang ringkas dan menyimpan fail. Simpan ke direktori yang ditentukan pada pelayan. Cipta fail bernama "upload.php" dan tambahkan kod berikut:

<?php
if(isset($_POST['submit'])){
    $name = $_POST['name'];
    $artist = $_POST['artist'];
    $file = $_FILES['file']['name'];
    $targetDir = "./uploads/";
    $targetFile = $targetDir . basename($file);
    
    // 保存文件
    if(move_uploaded_file($_FILES['file']['tmp_name'], $targetFile)){
        // 将文件信息保存到数据库
        $conn = new mysqli('localhost', 'root', '', 'music');
        $sql = "INSERT INTO songs (name, artist, file) VALUES ('$name', '$artist', '$file')";
        $conn->query($sql);
        $conn->close();
        echo "上传成功!";
    }else{
        echo "上传失败!";
    }
}
?>
<form method="POST" action="" enctype="multipart/form-data">
    歌曲名:<input type="text" name="name" required><br>
    歌手:<input type="text" name="artist" required><br>
    音乐文件:<input type="file" name="file" required><br>
    <input type="submit" name="submit" value="上传">
</form>

Kod ini akan menerima fail muzik yang diserahkan oleh pengguna dan menyimpannya ke folder "muat naik" dalam direktori yang ditentukan pada pelayan. Pada masa yang sama, nama, artis dan nama fail fail muzik disimpan ke pangkalan data.

3 Paparkan senarai muzik

Dalam sistem, pengguna boleh melihat senarai muzik yang dimuat naik. Buat fail bernama "index.php" dan tambah kod berikut:

<?php
$conn = new mysqli('localhost', 'root', '', 'music');
$sql = "SELECT * FROM songs";
$result = $conn->query($sql);
?>

<table>
    <tr>
        <th>歌曲名</th>
        <th>歌手</th>
        <th>操作</th>
    </tr>
    <?php while($row = $result->fetch_assoc()): ?>
    <tr>
        <td><?php echo $row['name']; ?></td>
        <td><?php echo $row['artist']; ?></td>
        <td>
            <a href="play.php?id=<?php echo $row['id']; ?>">播放</a>
            <a href="download.php?file=<?php echo $row['file']; ?>">下载</a>
        </td>
    </tr>
    <?php endwhile; ?>
</table>

Dalam kod di atas, nama fail muzik, penyanyi dan pautan operasi dipaparkan dalam pangkalan data dengan menanyakan jadual "lagu" dan menggunakan pernyataan gelung dalam jadual.

4 Main Muzik

Apabila pengguna mengklik pautan "Main" dalam senarai muzik, kita perlu menggunakan fail bernama "play.php" untuk memainkan muzik. Cipta fail dan tambah kod berikut:

<?php
$id = $_GET['id'];
$conn = new mysqli('localhost', 'root', '', 'music');
$sql = "SELECT * FROM songs WHERE id=$id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$music = "./uploads/" . $row['file'];
?>

<audio controls autoplay>
    <source src="<?php echo $music; ?>" type="audio/mpeg">
    你的浏览器不支持音频播放。
</audio>

Dalam kod di atas, dengan mendapatkan parameter URL "id" bagi fail "play.php", tanya maklumat fail muzik yang sepadan dalam pangkalan data, dan paparkan laluan fail muzik dalam HTML5 dalam pemain audio.

5. Muat Turun Muzik

Apabila pengguna mengklik pautan "Muat Turun" dalam senarai muzik, kita perlu menggunakan fail bernama "download.php" untuk melaksanakan fungsi muat turun fail muzik. Cipta fail dan tambah kod berikut:

<?php
$file = $_GET['file'];
$filepath = './uploads/' . $file;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
header('Content-Length: ' . filesize($filepath));
readfile($filepath);
?>

Dalam kod di atas, dengan mendapatkan parameter URL "fail" fail "muat turun.php", fail muzik dimuat turun ke komputer pengguna sebagai lampiran mengikut fail laluan.

6. Ringkasan

Melalui contoh kod di atas, kami boleh melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah. Pengguna boleh memuat naik fail muzik, dan sistem akan menyimpan fail ke direktori yang ditentukan pada pelayan dan menyimpan maklumat yang berkaitan ke pangkalan data. Pengguna boleh memilih untuk memainkan atau memuat turun fail muzik dengan melihat senarai muzik. Walaupun sistem ini mudah, ia boleh menyediakan pengguna dengan perkhidmatan muzik dalam talian asas. Sudah tentu, kita juga boleh mengembangkan dan mengoptimumkan mengikut keperluan.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan sistem muat turun dan main balik muzik dalam talian yang mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn