Cara Memuat Naik Fail Video melalui PHP dan Simpannya dalam Folder yang Sesuai dengan Kemasukan Pangkalan Data
Pengenalan
Untuk mengurus muat naik video di tapak web anda dengan berkesan, anda perlu melaksanakan sistem yang membenarkan pengguna memuat naik video, menyimpannya dalam folder tersusun dan menjejaki metadata mereka dalam pangkalan data. Panduan ini akan menyediakan penyelesaian yang komprehensif untuk mencapai ini menggunakan PHP dan MySQL.
Borang HTML
Buat borang HTML yang membolehkan pengguna memilih dan memuat naik fail video:
<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>
Pengendali PHP
Sekarang, mari tulis skrip PHP untuk mengendalikan muat naik fail dan kemasukan pangkalan data:
<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>
Kod ini akan secara automatik susun fail video ke dalam subfolder berdasarkan kursus yang dipilih dan tambahkan entri pangkalan data dengan butiran fail.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Muat Naik Video dengan Organisasi Folder dan Kemasukan Pangkalan Data dalam PHP dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!