ホームページ >バックエンド開発 >PHPチュートリアル >PHP と MySQL のフォルダー構成とデータベース エントリを使用してビデオのアップロードを処理する方法は?
PHP 経由でビデオ ファイルをアップロードし、データベース エントリを使用して適切なフォルダーに保存する方法
概要
Web サイトでのビデオのアップロードを効果的に管理するには、ユーザーがビデオをアップロードし、それらを整理されたフォルダーに保存し、データベース内のメタデータを追跡できるシステムを実装する必要があります。このガイドでは、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 中国語 Web サイトの他の関連記事を参照してください。