首页 > 解决方案 > 如何在php中检查多个文件是否为空?

问题描述

在插入数据库之前,我想在 php 中检查多个文件名是否为空。

请检查我在做什么:

尝试1:

   $filename1 = $_FILES['photo1']['name'];
   $filename2 = $_FILES['photo2']['name'];
   $filename3 = $_FILES['photo3']['name'];


   if (empty($filename1 == "" && $filename2 == "" && $filename3 == "")) 
   {  
    $errors[] = 'All Images are required.';


   }else{
   // Files are not empty
   }

尝试2:

  if (empty($_FILES)) {  
     $errors[] = 'All images are required.';
     }else{
     }
     if (empty(['photo1']['name'];)) {  
     $errors[] = 'Kindly Upload Image 1.';
     }
     if (empty(['photo2']['name'];)) {  
     $errors[] = 'Kindly Upload Image 2.';
     }
     if (empty(['photo3']['name'];)) {  
     $errors[] = 'Kindly Upload Image 3.';
     }

对我来说,两者都没有按我的意愿工作,

1)如果有人上传图片 1,则不会显示错误。

2)如果有人不上传图片 3 则错误将显示请上传图片 3

3)如果有人不上传图片 2 则会显示错误,请上传图片 2

4)如果有人没有上传所有图片,那么错误将显示所有图片都是必需的。

欢迎任何想法或建议。

标签: php

解决方案


您没有正确使用函数。它不支持多个参数,您必须为需要检查的每个 var 调用它。

if (empty($filename1) && empty($filename2) && empty($filename3))
{

顺便说一句,我认为在这种情况下您需要的是isset函数,确定变量是否已设置且不为 NULL。这一次,它支持多个参数。

if (!isset($filename1, $filename2, $filename3))
{

推荐阅读