Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组,输出,仅输出类型=';图像/jpeg';_Php_Arrays_If Statement - Fatal编程技术网

PHP数组,输出,仅输出类型=';图像/jpeg';

PHP数组,输出,仅输出类型=';图像/jpeg';,php,arrays,if-statement,Php,Arrays,If Statement,我有php数组($_FILE[fails]),我只需要输出千个名称,其中类型是“image/jpeg”或“image/jpg” 怎么做? 用foreach foreach ($_FILES["fails"] as $x => $y ) { echo $y->....something here? if(($y->... == 'image/jpeg') AND (..)) {} } 谢谢大家! 试试看: $output = array(); foreach ($_FI

我有php数组($_FILE[fails]),我只需要输出千个名称,其中类型是“image/jpeg”或“image/jpg”

怎么做? 用foreach

foreach ($_FILES["fails"] as $x => $y ) {
echo $y->....something here?
   if(($y->... == 'image/jpeg') AND (..)) {}
} 
谢谢大家!

试试看:

$output = array();
foreach ($_FILES["fails"]['type'] as $k => $type ) {
    if($type == 'image/jpeg' || $type == 'image/jpg')
        $output[] = $_FILES["fails"]['name'][$k];
}
for($i=0;$i
这将回显数组中每个图像/jpg或图像/jpeg的名称和类型。

试试看

$allowTypes = array (
        "image/jpeg",
        "image/jpg" 
); // Ad More to list
$_FILE ['fails'] = array ();
foreach ( $_FILES ['image'] ['tmp_name'] as $key => $val ) {
    $fileName = $_FILES ['image'] ['name'] [$key];
    $fileType = $_FILES ['image'] ['type'] [$key];
    if ($_FILES ["image"] ["error"] [$key] != UPLOAD_ERR_OK) {
        $_FILE ['fails'] [] = $fileName;
        continue;
    }

    if (! in_array ( $fileType, $allowTypes )) {
        $_FILE ['fails'] [] = $fileName;
        continue;
    }
}

您不应该信任客户端发送给您的MIME类型。用于获得更可靠的答案,但即使如此,您仍然容易受到XSS的攻击。唯一可靠的清理方法是获取像素数据并创建新图像。
for ($i = 0; $i < count($_FILES['fails']['name']); $i++) {
    if ($_FILES['fails']['type'][$i] == "image/jpeg" || $_FILES['fails']['type'][$i] == "image/jpg") {
        echo "Name : " . $_FILES['fails']['name'][$i];
        echo "Type : " . $_FILES['fails']['type'][$i];
    }
}
$allowTypes = array (
        "image/jpeg",
        "image/jpg" 
); // Ad More to list
$_FILE ['fails'] = array ();
foreach ( $_FILES ['image'] ['tmp_name'] as $key => $val ) {
    $fileName = $_FILES ['image'] ['name'] [$key];
    $fileType = $_FILES ['image'] ['type'] [$key];
    if ($_FILES ["image"] ["error"] [$key] != UPLOAD_ERR_OK) {
        $_FILE ['fails'] [] = $fileName;
        continue;
    }

    if (! in_array ( $fileType, $allowTypes )) {
        $_FILE ['fails'] [] = $fileName;
        continue;
    }
}