ホームページ >バックエンド開発 >PHPチュートリアル >PHP でビデオ ファイルをアップロードし、データベース統合で分類する方法
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 サイトの他の関連記事を参照してください。