Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit PHP ein einfaches Online-Musik-Download- und Wiedergabesystem implementiert

Wie man mit PHP ein einfaches Online-Musik-Download- und Wiedergabesystem implementiert

PHPz
PHPzOriginal
2023-09-25 12:41:021359Durchsuche

Wie man mit PHP ein einfaches Online-Musik-Download- und Wiedergabesystem implementiert

So implementieren Sie mit PHP ein einfaches Online-System zum Herunterladen und Abspielen von Musik

Mit der kontinuierlichen Weiterentwicklung der Netzwerktechnologie ist Musik heute zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Auch die Nachfrage nach Online-Systemen zum Herunterladen und Abspielen von Musik wächst. In diesem Artikel wird erläutert, wie Sie mit PHP ein einfaches System zum Herunterladen und Abspielen von Online-Musik schreiben, und es werden spezifische Codebeispiele bereitgestellt.

1. Umgebung und Datenbank erstellen

Zuerst benötigen wir eine Serverumgebung, um PHP auszuführen und eine Datenbank zum Speichern von Informationen über Musikdateien zu erstellen. Verwenden Sie XAMPP oder andere ähnliche Tools, um eine PHP-Laufumgebung einzurichten, und verwenden Sie MySQL, um eine Datenbank mit dem Namen „music“ zu erstellen. Erstellen Sie eine Tabelle mit dem Namen „Lieder“ in der Datenbank „Musik“. Die Struktur der Tabelle ist wie folgt:

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. Musikdateien hochladen

Im System können Benutzer Musikdateien über ein einfaches Formular hochladen und die Dateien speichern Speichern Sie im angegebenen Verzeichnis auf dem Server. Erstellen Sie eine Datei mit dem Namen „upload.php“ und fügen Sie den folgenden Code hinzu:

<?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>

Dieser Code empfängt die vom Benutzer übermittelten Musikdateien und speichert sie im Ordner „uploads“ im angegebenen Verzeichnis auf dem Server. Gleichzeitig werden Name, Interpret und Dateiname der Musikdatei in der Datenbank gespeichert.

3. Zeigen Sie die Musikliste an

Im System können Benutzer die hochgeladene Musikliste anzeigen. Erstellen Sie eine Datei mit dem Namen „index.php“ und fügen Sie den folgenden Code hinzu:

<?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>

Im obigen Code werden der Name der Musikdatei, der Sänger und der Operationslink in der Datenbank angezeigt, indem die Tabelle „song“ abgefragt und verwendet wird eine Schleifenanweisung in einer Tabelle.

4. Musik abspielen

Wenn der Benutzer in der Musikliste auf den Link „Abspielen“ klickt, müssen wir eine Datei mit dem Namen „play.php“ verwenden, um die Musik abzuspielen. Erstellen Sie die Datei und fügen Sie den folgenden Code hinzu:

<?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>

Fragen Sie im obigen Code durch Abrufen des URL-Parameters „id“ der Datei „play.php“ die entsprechenden Musikdateiinformationen in der Datenbank ab und zeigen Sie den Pfad an Musikdatei in einem HTML5 im Audioplayer.

5. Musik herunterladen

Wenn der Benutzer in der Musikliste auf den Link „Herunterladen“ klickt, müssen wir eine Datei namens „download.php“ verwenden, um die Download-Funktion der Musikdatei zu implementieren. Erstellen Sie die Datei und fügen Sie den folgenden Code hinzu:

<?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);
?>

Im obigen Code wird durch Abrufen des URL-Parameters „file“ der Datei „download.php“ die Musikdatei entsprechend der Datei als Anhang auf den Computer des Benutzers heruntergeladen Weg.

6. Zusammenfassung

Durch die obigen Codebeispiele können wir ein einfaches Online-Musik-Download- und Wiedergabesystem implementieren. Benutzer können Musikdateien hochladen, und das System speichert die Dateien im angegebenen Verzeichnis auf dem Server und speichert relevante Informationen in der Datenbank. Benutzer können Musikdateien abspielen oder herunterladen, indem sie die Musikliste anzeigen. Obwohl dieses System einfach ist, kann es Benutzern grundlegende Online-Musikdienste bieten. Selbstverständlich können wir auch bedarfsgerecht erweitern und optimieren.

Das obige ist der detaillierte Inhalt vonWie man mit PHP ein einfaches Online-Musik-Download- und Wiedergabesystem implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn