Trong bài học này, chúng ta sẽ tìm hiểu về biến siêu toàn cục $_FILES cũng như cách upload filfe trong PHP.

Đang xem: Lỗi upload file trong php

Video Upload file trong PHP

Hướng dẫn chi tiết

Biến siêu toàn cục $_FILES

$_FILES là một mảng kết hợp của các mục được tải lên thông qua phương thức POST. Trong đó, các file được tải lên sẽ là 1 phần tử trong mảng gồm key là name bạn đặt trong file html và value là một mảng gồm 4 phần tử

name: tên filetmp_name: nơi lưu tạm file, nằm bất cứ đâu trong server và tùy thuộc là thiết lập của bạn.error: lỗi xảy rasize: kích thước file, đơn vị là byte.

Xử lý upload file trong php

Form html của chúng ta như sau:

*

Để upload file, chúng ta sẽ dùng hàm move_uploaded_file($ten_file, $dia_chi_luu_file).

$ten_file: tên ‘tmp_name’ của file được tải tạm lên server.

$dia_chi_luu_file: nơi lưu trữ file upload mà bạn muốn.

move_uploaded_file($_FILES<"fileToUpload"><"tmp_name">, “uploads/”.basename($_FILES<"fileToUpload"><"name">));Tất nhiên, chỉ đơn giản như thế thì chúng ta đã có thể upload file. Tuy nhiên, chúng ta hay thử áp dụng $_FILES để xử lý phức tạp hơn một chút quá trình tải file lên.

Xem thêm: Top 10 Phần Mềm Bán Hàng Vqfree, Top 10 Phần Mềm Quản Lý Bán Hàng Miễn Phí

Kiểm tra file trùngKiểm tra loại fileKiểm tra kích thước file

“Ra đời, cuộc sống bươm chải, có làm vẫn không có ăn” nên phải gắn QUẢNG CÁOCác bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.Link đăng ký: https://my.azdigi.com/aff.php?aff=1612Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơnNếu thỏa hết tất cả điều kiện sẽ tiến hành upload file. Đầu tiên, chúng ta sẽ xác định nơi lưu file và file chúng ta sẽ xử lý nhé.

$target_dir = “uploads/”;$target_file = $target_dir . basename($_FILES<"fileToUpload"><"name">);Kiểm tra file đã tồn tại chưa

Nếu đã tồn tại sẽ bỏ qua. Thật ra, chúng ta có thể xử lý bằng cách đổi tên file nhưng thì làm đơn giản thôi nhé, trường hợp để tên file cách bạn có thể tìm hiểu thêm.

if (file_exists($target_file)) { echo “Sorry, file already exists.”;}Kiểm tra loại file

Chúng ta sẽ kiểm tra loại file bằng cách kiểm tra đuôi file có nằm trong danh sách cho phép tải lên hay không. Trong ví dụ, chúng ta chỉ cho các file png, jpg, jpeg, gif tải lên.

$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));// Allow certain file formatsif($fileType != “jpg” && $fileType != “png” && $fileType != “jpeg”&& $fileType != “gif” ) { echo “Sorry, only JPG, JPEG, PNG & GIF files are allowed.”; $upload_ok = 0;}Kiểm tra kích thước file

Chúng ta sẽ xem kích thước file bằng cách truy cập vào key ‘size’

if ($_FILES<"fileToUpload"><"size"> > 500000) { echo “Sorry, your file is too large.”;}Và nếu như thỏa hết, chúng ta chỉ cần dùng hàm move_uploaded_file để lưu trữ.

Xem thêm:

move_uploaded_file($_FILES<"fileToUpload"><"tmp_name">, $target_file);Tài liệu bài học: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *