如何透過PHP 上傳視訊檔案並透過資料庫條目將它們保存在適當的資料夾中
簡介
介紹為了有效管理網站上的視頻上傳,您需要實現一個系統,允許用戶上傳視頻,將它們存儲在有組織的文件夾中,並在數據庫中跟踪其元數據。本指南將提供使用 PHP 和 MySQL 實現此目的的全面解決方案。
HTML 表單<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>
建立一個允許使用者選擇和上傳影片檔案的HTML 表單:
PHP 處理程序<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>
現在,讓我們編寫PHP 腳本來處理文件上傳和資料庫輸入:
此程式碼將自動根據所選課程將視訊檔案組織到子資料夾中,並新增包含文件詳細資訊的資料庫條目。以上是如何在 PHP 和 MySQL 中使用資料夾組織和資料庫條目處理影片上傳?的詳細內容。更多資訊請關注PHP中文網其他相關文章!