Trong một bài viết trước mình có chia sẻ về cách upload hình ảnh lên Database. Nếu bạn đã thực hành qua sẽ thấy khá dễ dàng. Bài viết này mình sẽ hướng dẫn bạn cách upload một video lên cơ sở dữ liệu Database và hiển thị ở trên mình hình trình duyệt.

Bước 1: Tạo ra 1 database tên là data => Ấn vào tab MySQL gõ đoạn code này vào

CREATE TABLE `videos` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Đoạn mã này sẽ tạo ra một bảng tên là video gồm các cột id, name, location

Tiếp đó tạo ra thư mục upload trong htdocs

Bước 2: Tạo file upload.php với nội dung

<form method="post" action="" enctype='multipart/form-data'>
<input type='file' name='file' />
<input type='submit' value='Upload' name='upload'>
</form>
<?php require 'action.php';?>

<?php require 'view.php';?>

Bước 3: Tạo file action.php để xử lý và kết nối tới Database

<?php
// Kết nội CSDL
$host = "localhost";
$user = "root";
$password = "";
$dbname = "data";

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
// Kiểm tra button
if(isset($_POST['upload'])){

// Dung lượng cho phép upload lên
$maxsize = 52428800; // 5MB

// Lưu vào thư mục trên máy tính
$name = $_FILES['file']['name'];
$target_dir = "videos/";
$target_file = $target_dir . $_FILES["file"]["name"];

$videoFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Định dạng mở rộng
$extensions_arr = array("mp4","avi","3gp","mov","mpeg");

if( in_array($videoFileType,$extensions_arr) ){

// Điều kiện kiểm tra dung lượng file
if(($_FILES['file']['size'] >= $maxsize) || ($_FILES["file"]["size"] == 0)) {
echo "File quá lớn! Vui lòng upload file nhỏ hơn!";
}else{
// Tiếp hành Upload
if(move_uploaded_file($_FILES['file']['tmp_name'],$target_file)){
// Ghi dữ liệu vào Database
$query = "INSERT INTO videos(name,location) VALUES('".$name."','".$target_file."')";

$query = mysqli_query($con,$query);
if($query)
{
echo "Upload thành công.";
}
}
}

}else{
echo "Lỗi định dạng";
}

}
?>
Tại $maxsize = 52428800; Dung lượng cho phép là 5MB, trường hợp video lớn hơn bạn sẽ phải thay đổi số này. 1 Megabytes = 1048576 Bytes. Nếu là 100MB = 104857600 Bytes

Bước 4: Tạo file view.php để hiển thị video

<?php
$fetchVideos = 'SELECT location FROM videos ORDER BY id DESC';
$result = mysqli_query($con, $fetchVideos);
if (!$result) {
echo "Lỗi không lấy được dữ liệu";
}
else {
while($row = mysqli_fetch_array($result)) {
$location = $row['location'];

echo "<div >";
echo "<video src='".$location."' controls width='320px' height='200px' >";
echo "</div>"; }
}
?>

Bước 5: Tạo một thư mục là videos trên máy tính

file

Xong xuôi tiến hành up video lên xem thế nào!

Gõ lên trình duyệt localhost/upload/upload.php

upload-video-php

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *