Comment télécharger des fichiers vidéo via PHP et les enregistrer dans des dossiers appropriés avec une entrée de base de données
Introduction
Pour gérer efficacement les téléchargements de vidéos sur votre site Web, vous devez mettre en œuvre un système qui permet aux utilisateurs de télécharger des vidéos, de les stocker dans des dossiers organisés et de suivre leurs métadonnées dans une base de données. Ce guide fournira une solution complète pour y parvenir en utilisant PHP et MySQL.
Formulaire HTML
Créez un formulaire HTML qui permet aux utilisateurs de sélectionner et de télécharger des fichiers vidéo :
<code class="html"><form method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="file">Select Video File:</label> <input type="file" name="file" id="file" accept="video/*" required> </div> <div class="form-group"> <label for="course">Course:</label> <select name="course" required> <option value="select">Select Course</option> <option value="java">Java</option> <option value="python">Python</option> <option value="vb">Visual Basic</option> <option value="c">C/C++</option> <option value="ruby">Ruby</option> </select> </div> <input type="submit" name="submit" value="Upload"> </form></code>
Gestionnaire PHP
Maintenant, écrivons le script PHP pour gérer les téléchargements de fichiers et l'entrée dans la base de données :
<code class="php"><?php // Set destination folder and allowed file extensions define('DESTINATION_FOLDER', 'videos/'); $allowedExtensions = ['mp4', 'webm', 'avi', 'mov']; // Database settings $host = 'localhost'; $database = 'video_database'; $username = 'user'; $password = 'password'; // Connect to database $conn = new mysqli($host, $username, $password, $database); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Process file upload if (isset($_POST['submit'])) { // Get file details and validate extension $fileName = $_FILES['file']['name']; $fileSize = $_FILES['file']['size']; $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION); if (!in_array($fileExtension, $allowedExtensions)) { echo "Invalid file format. Please upload a valid video file."; exit; } // Check if there are any upload errors if ($_FILES['file']['error'] > 0) { echo "Error uploading file."; exit; } // Move file to destination folder $fileDestination = DESTINATION_FOLDER . $fileName; if (move_uploaded_file($_FILES['file']['tmp_name'], $fileDestination)) { // Insert file details into database $course = $_POST['course']; $uploadDate = date("Y-m-d H:i:s"); $sql = "INSERT INTO video_uploads (video_name, course, upload_date) VALUES ('$fileName', '$course', '$uploadDate')"; if ($conn->query($sql)) { echo "File uploaded successfully. Database entry added."; } else { echo "Error adding database entry."; } } else { echo "Error moving file to destination."; } } $conn->close();</code>
Ce code sera automatiquement organisez les fichiers vidéo en sous-dossiers en fonction du cours sélectionné et ajoutez une entrée de base de données avec les détails du fichier.
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!