检查所有foreach值是否符合条件

时间:2015-10-01 02:09:20

标签: php

我试图检查$_FILE语法提供的数组。我的脚本允许我在声明数组时检查数组中的各个对象。

EG:

$_FILES['upload1']['tmp_name'][0];

问题:

由于我想检查所有文件字段这一事实,说明此对象旁边的[0]并不是我正在寻找的内容,并且想知道如何检查所有tmp_name都设置为1920 x 1080的尺寸。

注意:

下面的代码完全正常,但它只检查单个对象。我希望能够检查所有内容,EG:[0],[1],[2],[3]等等。

我如何使用foreach循环进行此操作? - 我以前只是简单地碰过它们,我正在努力绕过它。

谢谢,Rich

if(!is_uploaded_file($_FILES['upload1']['tmp_name'][0])) {
        echo "<span class='error'>Please fill in all of the file fields.</span>";   
exit();
}

$info = getimagesize($_FILES['upload1']['tmp_name'][0]);
function checkSize($info){
    if (($info[0] != 1920) || ($info[1] != 1080)) 
        return true;
    else
        return false;
}

if (checkSize($info)) {   
    echo "<span class='error'>All image resolutions must be 1920 x 1080.</span>";
    exit();

}

1 个答案:

答案 0 :(得分:0)

我会继续回答我自己的问题,因为我已经研究了几个小时:

$countthem = 0;
foreach ($files as $file) {
$file_name = $file;
$info = getimagesize($_FILES['upload1']['tmp_name'][$countthem]);
if (($info[0] != 1920) || ($info[1] > 1080)) {
echo "<span class='error'>Image resolution must be 1920 x 1080.</span>";
exit();
}
++$countthem;
}

通过计算在['tmp_name']数组末尾应用单个对象编号,我能够镜像它在数组中的相同数字。在foreach循环中应用的此方法允许我单独检查所有文件分辨率。