>백엔드 개발 >PHP 튜토리얼 >PHP 및 MySQL에서 폴더 구성 및 데이터베이스 항목을 사용하여 비디오 업로드를 처리하는 방법은 무엇입니까?

PHP 및 MySQL에서 폴더 구성 및 데이터베이스 항목을 사용하여 비디오 업로드를 처리하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-21 13:45:03839검색

How to Handle Video Uploads with Folder Organization and Database Entry in PHP and MySQL?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.