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";
}
}
?>
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
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