ホームページ >バックエンド開発 >PHPチュートリアル >PHP でビデオ ファイルをアップロードし、データベース統合で分類する方法

PHP でビデオ ファイルをアップロードし、データベース統合で分類する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-21 14:34:30853ブラウズ

How to Upload Video Files in PHP and Categorize Them with Database Integration?

PHP 経由でビデオ ファイルをアップロードし、データベース エントリを含む適切なフォルダーに保存する方法

問題:

ユーザーは、ビデオ ファイルを Web サイトにアップロードし、ユーザー識別用に対応するデータベース エントリとともに指定されたフォルダーに保存できる必要があります。

解決策:

HTML フォーム

ユーザーがアップロードするビデオ ファイルを選択する HTML フォームを定義します。フォームにファイルの選択と送信のための適切な属性が含まれていることを確認してください。

<code class="html"><form method="post" enctype="multipart/form-data">
    <input type="file" accept="video/*" ID="fileSelect" name="filename">
    <select name="course">
        <option value="select" selected>Select</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>
    <input type="submit" value="Upload" name="submit">
</form></code>

PHP ハンドラー

PHP を使用してアップロードされたビデオ ファイルを処理します:

<code class="php">// Define destination folder based on selected course
$folder  = isset($_POST["course"]);

// Destination folder path
$destination_folder = '/' . $folder;

// Maximum file size (in bytes)
$max_file_size = 0;

// Success URL for redirection after upload
$success_url = 'learn.learnbrix.com';

// Upload success log database connection details (optional)
define('DB_HOST',''); // host, usually localhost
define('DB_DATABASE',''); // database name
define('DB_USERNAME',''); // username
define('DB_PASSWORD',''); // password

// Check for upload errors
$error_code = $_FILES['filename']['error'];
if ($error_code !== UPLOAD_ERR_OK) {
    // Handle upload errors as needed
}

// Process the uploaded file
$filename = $_FILES['filename']['name'];
$tmp_filename = $_FILES['filename']['tmp_name'];
$file_ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$filesize = filesize($tmp_filename);

// Check file size and type
if ($filesize > $max_file_size) {
    // Handle file size error
}
if (!in_array($file_ext, array('mp4', 'avi', 'mov'))) {
    // Handle file type error
}

// Save the file in the destination folder
$dest_filename = md5(uniqid(rand(), true)) . '.' . $file_ext;
move_uploaded_file($tmp_filename, $destination_folder . '/' . $dest_filename);

// Log the upload (optional)
if (DO_LOG) {
    // Connect to the database and execute the query to log the upload
}

// Redirect to the success URL
header('Location: ' . $success_url);</code>

追加機能

ユーザーの名前と電子メール アドレスを受け入れる機能を追加するには、HTML フォームと PHP ハンドラーをそれに応じて変更します:

HTML Form

<code class="html"><form method="post" enctype="multipart/form-data">
    <label for="name">Name:</label>
    <input type="text" name="name">

    <label for="email">Email:</label>
    <input type="email" name="email">

    <input type="file" accept="video/*" ID="fileSelect" name="filename">
    <select name="course">
        <option value="select" selected>Select</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>
    <input type="submit" value="Upload" name="submit">
</form></code>

PHP ハンドラー

<code class="php">// Get the user's name and email from the form
$name = $_POST['name'];
$email = $_POST['email'];

// Use $name and $email to create a database entry or perform any other necessary action</code>

以上がPHP でビデオ ファイルをアップロードし、データベース統合で分類する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。