Hướng dẫn upload ảnh php

Đây là chức năng giúp chúng ta có thể gửi file lên server đó là file ảnh hoặc các loại tập tin.

Cấu hình: Tìm vào file php.ini bật trạng thái upload file

file_uploads = On

FORM HTML UPLOAD FILE

   

Chú ý:

  • Chỉ hỗ trợ form có phương thức truyền dữ liệu POST
  • Khai báo thuộc tính enctype="multipart/form-data" cho From

XỬ LÝ UPLOAD FORM

  • Dữ liệu file upload được đẩy vào mảng hệ thống $_FILES
  • Kiểm tra dữ liệu hợp lệ của file upload: Loại file, dung lượng,...

Hàm hỗ trợ

  • Lấy tên file
  • Lấy đuôi mở rộng file

Bước 1: Tạo đường dẫn chứa file upload

Ta có đường dẫn file sau khi upload

Bước 2: Kiểm tra file trước khi upload

  • Kiểm tra đuổi mở rộng(upload ảnh có đuổi png, jpg, jpeg, gif)
  • Kiểm tra kích thước file
 5242880){
   $error['fileUpload] = "File bạn upload không được quá 5MB";
}
?>
  • Kiểm tra sự tồn tại của file trên hệ thống

Bước 3: Chuyển file từ thư mục tạm lên server

if (empty($error)) {
	if (move_uploaded_file($_FILES["fileUpload"]["tmp_name"], $target_file)) {
		echo "Bạn đã upload file thành công";
		$flag = true;
	} else {
		echo "File bạn vừa upload gặp sự cố";
	}
}

CODE UPLOAD FILE ĐẦY ĐỦ

if ($_SERVER['REQUEST_METHOD'] == "POST") {
    //Bước 1: Tạo thư mục lưu file
    $error = array();
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES['fileUpload']['name']);
    // Kiểm tra kiểu file hợp lệ
    $type_file = pathinfo($_FILES['fileUpload']['name'], PATHINFO_EXTENSION);
    $type_fileAllow = array('png', 'jpg', 'jpeg', 'gif');
    if (!in_array(strtolower($type_file), $type_fileAllow)) {
        $error['fileUpload'] = "File bạn vừa chọn hệ thống không hỗ trợ, bạn vui lòng chọn hình ảnh";
    }
    //Kiểm tra kích thước file
    $size_file = $_FILES['fileUpload']['size'];
    if ($size_file > 5242880) {
        $error['fileUpload'] = "File bạn chọn không được quá 5MB";
    }
// Kiểm tra file đã tồn tại trê hệ thống
    if (file_exists($target_file)) {
        $error['fileUpload'] = "File bạn chọn đã tồn tại trên hệ thống";
    }
//
    if (empty($error)) {
        if (move_uploaded_file($_FILES["fileUpload"]["tmp_name"], $target_file)) {
            echo "Bạn đã upload file thành công";
            $flag = true;
        } else {
            echo "File bạn vừa upload gặp sự cố";
        }
    }
}
?>



GHI NHỚ

  • Upload file giúp chuyển một file từ máy tính lên server
  • Quá trình upload file được tiến hành qua 3 bước
  • Trước khi upload file cần kiểm tra file thích hợp với mục đích sử dụng

Url Link

http://hocweb123.com/cach-upload-file-len-server-bang-php.html

Với mọi trang web đều phải có chức năng upload image lên đưa Database với mục đích thêm hình ảnh vào cơ sở dữ liệu MySQL. Bài viết này sẽ hướng dẫn bạn cách upload ảnh bằng PHP và MySQL với những đoạn code dễ hiểu đọc xong bạn hoàn toàn có thể làm được.

  • Readmore : Code hiển thị nội dung bài viết trong PHP

Với bài tập này bạn sẽ biết cách lưu đường dẫn ảnh vào Database và hiển thị bức ảnh lên trên website. Nào hãy bắt đầu thôi!

Hướng dẫn upload ảnh php

Bước 1: Bạn sẽ khởi tạo 4 file như trong hình

Hướng dẫn upload ảnh php

  • photo: dùng để lưu hình ảnh trên máy tính
  • connect.php; kết nối tới Database
  • style; thêm CSS để trang trí form
  • upload.php; file upload ảnh
  • xuly.php; xử lý ảnh sau khi upload

Tạo 1 cơ sở dữ liệu Database tên là ‘upload_image‘ => sau đó tạo bảng Table tên là images bằng paste đoạn MySQL vào Database

CREATE TABLE IF NOT EXISTS `images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Hướng dẫn upload ảnh php

Hướng dẫn upload ảnh php

Bước 2: Tiếp theo bạn sẽ tạo một file upload.php

 
 
 
Image Upload 
 
 
 

Bước 3: Tiếp theo sẽ tạo một file là xuly.php

 2097152) {
$errors[]='Kích thước file không được lớn hơn 2MB';
}
$image = $_FILES['image']['name'];
$target = "photo/".basename($image);
$sql = "INSERT INTO images (image) VALUES ('$image')";
mysqli_query($conn, $sql);
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
echo '';
}else{
echo '';
}
}
$result = mysqli_query($conn, "SELECT * FROM images");
?>



Image Upload



"; echo ""; echo "
"; } ?>

Bước 4: Tạo file connect.php để kết nối database

Bước 5: Thêm file style.css

#content{
margin: 20px auto;
border: 1px solid #cbcbcb;
overflow: auto;
padding: 20px;
}
form{
margin: 20px auto;
}
form div{
margin-top: 5px;
}
#img_div{
padding: 5px;
border: 1px solid #cbcbcb;
float: left
}
#img_div:after{
content: "";
display: block;
clear: both;
}
#img_div img{
float: left;
margin: 5px;
width: 400px;
height: auto;
}

Sau khi tạo xong 4 file: thư mục photo trong máy tính, upload.php, xuly.php và connect.php, style.css bạn thử chạy vào xem kết quả như thế nào.

Kết luận: Trên đây là code upload hình ảnh lên Database bằng PHP và MySQL, với bài hướng dẫn với các bước đơn giản trên hi vọng sẽ giúp bạn học thêm một chút kiến thức về lập trình PHP.

Đọc thêm: Cách lấy dữ liệu trong MySQL