PHP를 통해 비디오 파일을 업로드하고 데이터베이스 항목을 사용하여 적절한 폴더에 저장하는 방법
소개
웹사이트의 동영상 업로드를 효과적으로 관리하려면 사용자가 동영상을 업로드하고 정리된 폴더에 저장하며 데이터베이스에서 메타데이터를 추적할 수 있는 시스템을 구현해야 합니다. 이 가이드는 PHP와 MySQL을 사용하여 이를 달성하기 위한 포괄적인 솔루션을 제공합니다.
HTML 양식
사용자가 비디오 파일을 선택하고 업로드할 수 있는 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>
PHP 처리기
이제 파일 업로드 및 데이터베이스 항목을 처리하는 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 및 MySQL에서 폴더 구성 및 데이터베이스 항목을 사용하여 비디오 업로드를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!