Maison  >  Article  >  développement back-end  >  Comment télécharger des fichiers vidéo en PHP et les classer avec l'intégration de base de données ?

Comment télécharger des fichiers vidéo en PHP et les classer avec l'intégration de base de données ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 14:34:30764parcourir

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

Comment télécharger des fichiers vidéo via PHP et les enregistrer dans un dossier approprié avec une entrée de base de données

Problème :

Les utilisateurs doivent pouvoir télécharger des fichiers vidéo sur un site Web et les stocker dans des dossiers désignés avec les entrées de base de données correspondantes pour l'identification de l'utilisateur.

Solution :

Formulaire HTML

Définissez le formulaire HTML dans lequel les utilisateurs sélectionnent le fichier vidéo à télécharger. Assurez-vous que le formulaire inclut les attributs appropriés pour la sélection et la soumission des fichiers.

<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>

Gestionnaire PHP

Traitez le fichier vidéo téléchargé à l'aide de 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>

Fonctionnalités supplémentaires

Pour ajouter la possibilité d'accepter les noms et adresses e-mail des utilisateurs, modifiez le formulaire HTML et le gestionnaire PHP en conséquence :

Formulaire HTML

<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>

Gestionnaire 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>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn