Kiểm tra xem tệp tải lên có trống không php

/*
  =============Input Type File=============
  other inputs can be easly validated using the HTML required attr or using 
  php empty() function
*/
$is_uploading = $_FILES["inputfilename"]["error"];
/*
  the variable $is_uploading has value either 0 or 4
  0 => the user is uploading specific files or images
  4 => user is not uploading anything
*/
$can_pass = $is_uploading == 0 ? true : false;
if($can_pass){
  echo "You can Pass";
}
else{
  echo "Please upload. Your request has empty files.";
}

❮ Tham chiếu xử lý biến PHP

Thí dụ

Kiểm tra xem một biến có trống không. Đồng thời kiểm tra xem biến có được đặt/khai báo không

$a = 0;

// Đúng vì $a trống
if (empty($a)) {
  echo "Biến 'a' trống.
";
}

// Đúng vì $a được đặt
if (isset($a)) {
  echo "Biến 'a' được đặt";
}
?>

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm empty() kiểm tra biến có rỗng hay không

Hàm này trả về false nếu biến tồn tại và không rỗng, ngược lại trả về true

Các giá trị sau ước tính trống

  • 0
  • 0. 0
  • "0"
  • ""
  • VÔ GIÁ TRỊ
  • SAI
  • mảng()

cú pháp

Giá trị tham số

Tham sốMô tảbiếnBắt buộc. Chỉ định biến để kiểm tra

chi tiết kỹ thuật

Giá trị trả về. FALSE nếu biến tồn tại và không trống, TRUE nếu không thì Kiểu trả về. Phiên bản Boolean PHP. 4. 0+Nhật ký thay đổi PHP. PHP5. 5. Hỗ trợ các biểu thức, không chỉ các biến
PHP 5. 4. Độ lệch không phải là số của chuỗi trả về TRUE
❮ Tham chiếu xử lý biến PHP

Hôm nay, trong bài đăng này, chúng ta sẽ tìm hiểu cách kiểm tra tệp đã tải lên có hay không trên đối tượng yêu cầu trong ứng dụng laravel 6, laravel 7, laravel 8 và laravel 9

Nếu bạn làm việc về upload file hay image thì bạn phải kiểm tra file array có rỗng hay không. ấu trùng 5. 3 cung cấp hai cách để kiểm tra tệp có hay không có trong đối tượng yêu cầu

Trong ví dụ dưới đây, bạn có thể xem cách kiểm tra. Đó là ví dụ rất đơn giản theo cách bạn có thể hiểu một cách đơn giản

Nếu bạn chỉ muốn mã nguồn - hãy cuộn xuống cuối trang hoặc nhấp vào đây. Nhưng tôi khuyên bạn nên đọc bài báo để hiểu tại sao tôi lại làm những việc như tôi đang làm và nó hoạt động như thế nào

Này các cậu,

trong bài đăng này, tôi sẽ chỉ cho bạn cách tải tệp lên máy chủ của bạn bằng HTML và PHP và xác thực tệp. Tôi hy vọng nó hữu ích cho một số bạn và bây giờ chúc bạn viết mã vui vẻ. )

Thông tin an ninh

Đầu tiên, điều quan trọng nhất mà tôi muốn nói với bạn, biến

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
1 trong PHP (ngoại trừ
if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
2) có thể được sửa đổi. Điều đó có nghĩa là, không kiểm tra e. g. kích thước tệp bằng
if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
3, vì người tải lên có thể sửa đổi kích thước tệp này trong trường hợp bị tấn công. Nói cách khác, khi bạn xác thực tải lên bằng phương pháp này, kẻ tấn công có thể giả vờ rằng tệp của họ có kích thước hoặc loại tệp khác

Như bạn có thể thấy, có rất nhiều thứ chúng ta cần quan tâm. Có lẽ nên cân nhắc sử dụng một dịch vụ đã có sẵn. Với Uploadcare, bạn có thể tải lên và quản lý tệp nhanh chóng và dễ dàng thông qua tích hợp PHP của chúng

Vì vậy, hãy tiếp tục và tạo tệp tải lên an toàn của riêng chúng tôi

Thiết lập HTML

Trước khi PHP có thể xử lý các tệp, chúng tôi gửi chúng tới PHP bằng biểu mẫu HTML cơ bản

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đó là nó. Lưu ý

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
4, đó là tập lệnh PHP xử lý tải lên. Và chúng tôi sử dụng tên
if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
5 để xác định tệp trong PHP

Xác thực PHP

Bây giờ, hãy xác thực tệp trong tệp

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
6

Trước hết, chúng tôi phải kiểm tra xem có tệp nào được chuyển đến tập lệnh của chúng tôi không. Chúng tôi làm điều này bằng cách sử dụng biến

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
1

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Nhưng hãy nhớ rằng, vì lý do bảo mật, chúng tôi không thể lấy kích thước tệp bằng cách sử dụng

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
1. Khi người dùng tải tệp lên, PHP sẽ lưu tệp tạm thời và bạn có thể lấy đường dẫn bằng cách sử dụng
if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
9. Đó là những gì chúng tôi sử dụng bây giờ để có được kích thước thực và loại tệp

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bây giờ chúng tôi có thông tin thực, hãy xác thực kích thước tệp. Chúng tôi không muốn cho phép người dùng tải lên các tệp trống, vì vậy trước tiên, chúng tôi kiểm tra xem kích thước tệp có lớn hơn 0 không

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Và nếu bất kỳ ai cũng có thể tải tệp lên, bạn có thể muốn đặt giới hạn về độ lớn của tệp

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tuyệt vời. Nhưng bạn thường chỉ cho phép tải lên các loại cụ thể, e. g.

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
20 hoặc
if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
21 cho hình ảnh hồ sơ. Để linh hoạt hơn, hãy tạo một mảng với tất cả các loại tệp được phép.
(Cảm ơn Gary Marriott và Renorram Brandão đã chỉ cho tôi, chúng tôi phải lưu trữ các phần mở rộng cho mỗi loại ở đây trong mảng để sau này chúng tôi có thể nối nó vào tên tệp)

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
7

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bạn có thể tìm thấy danh sách các Loại MIME tại đây (Nó bằng tiếng Đức, nhưng có một bảng tuyệt vời với tất cả các Loại MIME và phần mở rộng tệp)

Bây giờ hãy kiểm tra xem loại tệp có được phép không

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Và chúng tôi đã hoàn thành việc xác thực. Ở bước cuối cùng, chúng tôi di chuyển tệp vào thư mục tải lên của chúng tôi (hoặc bất cứ nơi nào bạn muốn). Đối với điều này, tôi xác định một biến với thư mục đích của mình, sau đó lấy tên tệp và phần mở rộng hiện tại và tạo đường dẫn tệp đích mới

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
9

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Cuối cùng, di chuyển tập tin

if (!isset($_FILES["myFile"])) {
   die("There is no file to upload.");
}
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đó là nó. Bây giờ bạn có một tệp tải lên an toàn, nơi bạn có thể xác định nghiêm ngặt tệp nào có thể tải lên và tệp nào không

Làm cách nào để kiểm tra xem đầu vào tệp có trống trong PHP không?

Hàm PHP empty() Hàm empty() kiểm tra xem một biến có rỗng hay không. Hàm này trả về false nếu biến tồn tại và không rỗng, ngược lại trả về true.

Làm cách nào để kiểm tra xem tệp có được tải lên bằng PHP không?

Hàm PHP is_uploaded_file() .

Làm cách nào để kiểm tra xem tệp tải lên có trống trong JavaScript không?

Cho một tài liệu HTML chứa phần tử đầu vào và nhiệm vụ là kiểm tra xem phần tử đầu vào có trống hay không với sự trợ giúp của JavaScript. Cách tiếp cận 1. Sử dụng phần tử. tệp. thuộc tính độ dài để kiểm tra tệp có được chọn hay không .

Làm cách nào để lấy giá trị của một tệp trong PHP?

The file_get_contents() đọc một tệp thành một chuỗi. Hàm này là cách ưa thích để đọc nội dung của tệp thành một chuỗi. Nó sẽ sử dụng các kỹ thuật ánh xạ bộ nhớ, nếu điều này được máy chủ hỗ trợ, để nâng cao hiệu suất.