1

我将如何为此做一个 if / else 语句?用户可以选择是否添加图像。如果添加图像,我希望 if 运行,如果他们不希望 else 运行,因为取决于是否添加图像,它们将有两个不同的端。

if (isset($_POST['formsubmitted'])) { 

if (isset($_POST['name'])){  }else{  }

if (isset($_POST['state'])){  }else{  }

if (isset($_FILES['images']['name'])) { echo 'images'; exit;} else {echo 'no images'; exit;}


} #end main form submitted

if (isset($_FILES['images']['name'])) 不起作用,因为到目前为止,即使没有提交图像,它仍然会说图像已提交。

html文件字段是:

<form>
<input type='file' name='images[]' id=''>
<input type='file' name='images[]' id=''>
<input type='file' name='images[]' id=''>
<input type = "submit">    
</form>
4

4 回答 4

5

你应该试试这个

提交.php

<pre>
<?php 
// those index are empty the array filter remove this 

echo "without filter"."<br>";
print_r($_FILES['images']['name']);

echo "filter"."<br>";
$usersFileUpload = array_filter($_FILES['images']['name']);
print_r($usersFileUpload);

$usersFileUploadCount = count($usersFileUpload);

for($i=0;$i<=$usersFileUploadCount;$i++){
    echo $usersFileUpload[$i]."<br>";

    // insert Table     
}
?>

HtmlForm.php

<form action="submit.php" method="post" enctype="multipart/form-data" name="images">
<input type='file' name='images[]' id=''><br />
<input type='file' name='images[]' id=''><br />
<input type='file' name='images[]' id=''>
<input name="" type="submit" />
</form>

查看图片进行验证 1

在此处输入图像描述

查看图片进行验证 2

在此处输入图像描述

于 2012-04-16T14:43:34.540 回答
0

我不确定我是否理解,我认为您正在尝试这样做。

if (isset($_FILES['name']) && isset($_FILES['images']))
于 2012-04-16T14:27:07.877 回答
0

尝试检查$_FILES['images']['error'][$x]是否等于 4。如果我没记错的话,这表明上传有错误。

显然,对图像上传器的每次迭代都执行此操作,因此基本上将 $x 替换为上传器数组的键。

请记住,空数组仍然是集合数组。

见:http ://uk3.php.net/manual/en/features.file-upload.errors.php

另外:http ://uk3.php.net/manual/en/features.file-upload.php <-- 手册。便利!

于 2012-04-16T14:28:21.200 回答
0

试试这个

if($_FILES['your-name-file']['error'] == 4) {
            //process your error
    }

这对我有用!

于 2019-05-01T15:21:00.260 回答