Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengendalikan Muat Naik Video dengan Organisasi Folder dan Kemasukan Pangkalan Data dalam PHP dan MySQL?

Bagaimana Mengendalikan Muat Naik Video dengan Organisasi Folder dan Kemasukan Pangkalan Data dalam PHP dan MySQL?

DDD
DDDasal
2024-10-21 13:45:03742semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn