Tóm Tắt
Video Upload file trong PHP
Hướng dẫn chi tiết
"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni (trả nợ)" nên dành vài dòng cho QUẢNG CÁO Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".
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 file
- tmp_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 ra
- size: kích thước file, đơn vị là byte.
Xử lý upload file trong php
Form html của chúng ta như sau:
Bạn đang đọc: [PHP] – Bài 13: Upload file trong PHP
"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo" Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn
Để upload file, chúng ta sẽ dùng hàm move_uploaded_file($ten_file, $dia_chi_luu_file).
USD ten_file : tên ‘ tmp_name ’ của file được tải tạm lên server .
USD dia_chi_luu_file : nơi tàng 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 thuần như thế thì tất cả chúng ta đã hoàn toàn có thể upload file. Tuy nhiên, tất cả chúng ta hay thử vận dụng $ _FILES để giải quyết và xử lý phức tạp hơn một chút ít quy trình tải file lên .
- Kiểm tra file trùng
- Kiểm tra loại file
- Kiểm tra kích thước file
Nếu thỏa hết tổng thể điều kiện kèm theo sẽ thực thi upload file. Đầu tiên, tất cả chúng ta sẽ xác lập nơi lưu file và file tất cả chúng ta sẽ giải quyết và 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 đã sống sót sẽ bỏ lỡ. Thật ra, tất cả chúng ta hoàn toàn có thể giải quyết và xử lý bằng cách đổi tên file nhưng thì làm đơn thuần thôi nhé, trường hợp để tên file cách bạn hoàn toàn có thể khám phá 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 list được cho phép tải lên hay không. Trong ví dụ, tất cả chúng ta chỉ cho những file png, jpg, jpeg, gif tải lên .
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Allow certain file formats if($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ữ.
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.
Liên hệ
Source: https://final-blade.com
Category: Kiến thức Internet