如何在多个文件上传PHP中查看数组是否为空

时间:2011-11-02 21:39:35

标签: php error-handling

使用php多重上传脚本,如何检查数组是否为空? 不起作用:

  • if(empty($_FILES['images']['name']))
  • if($_FILES['images']['name'] === 'Array')
  • 使用for循环作为第一次检查似乎很脏。然后我在第一个for循环中有一个嵌套的if语句。然后我在另一个内部有另一个for循环用于额外的错误检查。

最好的方法是什么?这不会查看数组是否为空。第一次检查仅检查计数($ images)> 5。

// Begin image validation
                        if(isset($name)) { // here I want to see if image array is empty

                            // 5 max images allowed
                            if(count($name) > 5) {
                                ?>
                                <script type="text/javascript">
                                document.getElementById('message').innerHTML += 'Max allowed images is 5';
                                </script>
                                <?php
                                } else {

                                    // Begin for loop

1 个答案:

答案 0 :(得分:0)

计算成功上传的文件数和尝试的数量:

<?php

$successfully_uploaded_files = 0;
$attempted_files = 0;

foreach ($_FILES as $file) {
  if ($file['error'] === 0) {
    $successfully_uploaded_files++;
    $attempted_files++;
  } elseif ($file['error'] !== 4) {
    $attempted_files++;
  }
}

您应该适当地处理其他错误代码: http://www.php.net/manual/en/features.file-upload.errors.php