我有一个表格,允许1到多个文件上传。我只是注意到,在提交多个文件时,会出现一个错误。
Invalid argument supplied for foreach()
对于这一行:
foreach ($filename as $indFile) {
文件会上载,但由于错误,它会影响文件中的其他区域。
只有在上传多个文件时才会显示此错误,这有什么错呢?
foreach ($_FILES as $file) {
foreach($file['name'] as $key => $value) {
if (!empty($value)) { //empty string
if($file['error'][$key] != 4) { //error code is not #4
$fu = new fileUpload();
$filename = $fu->upload();
$out = (count($filename) > 1 ? 'Multiple files were' : 'A file was'). ' uploaded. You can download ' . (count($filename) > 1 ? 'them' : 'the file'). ' from:</ul>';
foreach ($filename as $indFile) {
$out .= "<li><a href='uploads/{$indFile}'>{$indFile}</a></li>";
}
$out .= '</ul>';
$template = str_replace("{filename}", $out, $template);
//echo "name is NOT empty AND error is NOT 4";
} else { //error code IS #4
//echo "error code is 4";
}
} else {
//echo "name is empty!";
$template = str_replace("{filename}", '', $template);
}
}
}
clearstatcache();