Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter un système simple de téléchargement et de lecture de musique en ligne

Comment utiliser PHP pour implémenter un système simple de téléchargement et de lecture de musique en ligne

PHPz
PHPzoriginal
2023-09-25 12:41:021359parcourir

Comment utiliser PHP pour implémenter un système simple de téléchargement et de lecture de musique en ligne

Comment utiliser PHP pour mettre en œuvre un système simple de téléchargement et de lecture de musique en ligne

Aujourd'hui, avec le développement continu de la technologie des réseaux, la musique est devenue un élément indispensable de la vie des gens. La demande de systèmes de téléchargement et de lecture de musique en ligne est également croissante. Cet article explique comment utiliser PHP pour écrire un système simple de téléchargement et de lecture de musique en ligne, et fournit des exemples de code spécifiques.

1. Créer un environnement et une base de données

Tout d'abord, nous avons besoin d'un environnement serveur pour exécuter PHP et créer une base de données pour stocker des informations sur les fichiers musicaux. Utilisez XAMPP ou d'autres outils similaires pour configurer un environnement d'exécution PHP et utilisez MySQL pour créer une base de données nommée « musique ». Créez un tableau nommé « chansons » dans la base de données « musique ». La structure du tableau est la suivante :

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. Téléchargez des fichiers musicaux

Dans le système, les utilisateurs peuvent télécharger des fichiers musicaux via un formulaire simple et enregistrer les fichiers. Enregistrez dans le répertoire spécifié sur le serveur. Créez un fichier nommé "upload.php" et ajoutez le code suivant :

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

Ce code recevra les fichiers musicaux soumis par l'utilisateur et les enregistrera dans le dossier "uploads" dans le répertoire spécifié sur le serveur. Dans le même temps, le nom, l'artiste et le nom du fichier musical sont enregistrés dans la base de données.

3. Afficher la liste de musique

Dans le système, les utilisateurs peuvent consulter la liste de musique téléchargée. Créez un fichier nommé "index.php" et ajoutez le code suivant :

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

Dans le code ci-dessus, le nom du fichier musical, le chanteur et le lien d'opération sont affichés dans la base de données en interrogeant la table "song" et en utilisant une instruction de boucle dans un tableau.

4. Play Music

Lorsque l'utilisateur clique sur le lien "Play" dans la liste de musique, nous devons utiliser un fichier nommé "play.php" pour lire la musique. Créez le fichier et ajoutez le code suivant :

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

Dans le code ci-dessus, en obtenant le paramètre URL "id" du fichier "play.php", interrogez les informations du fichier musical correspondant dans la base de données, et affichez le chemin du fichier de musique dans un HTML5 dans le lecteur audio.

5. Télécharger de la musique

Lorsque l'utilisateur clique sur le lien "Télécharger" dans la liste de musique, nous devons utiliser un fichier nommé "download.php" pour implémenter la fonction de téléchargement du fichier musical. Créez le fichier et ajoutez le code suivant :

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

Dans le code ci-dessus, en obtenant le paramètre URL "file" du fichier "download.php", le fichier musical est téléchargé sur l'ordinateur de l'utilisateur en pièce jointe selon le fichier chemin.

6. Résumé

Grâce aux exemples de code ci-dessus, nous pouvons implémenter un système simple de téléchargement et de lecture de musique en ligne. Les utilisateurs peuvent télécharger des fichiers musicaux et le système enregistrera les fichiers dans le répertoire spécifié sur le serveur et enregistrera les informations pertinentes dans la base de données. Les utilisateurs peuvent choisir de lire ou de télécharger des fichiers musicaux en affichant la liste musicale. Bien que ce système soit simple, il peut fournir aux utilisateurs des services de musique en ligne de base. Bien entendu, nous pouvons également étendre et optimiser en fonction des besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn