【发布时间】:2015-05-24 01:25:09
【问题描述】:
我正在尝试创建一个用户可以插入多个图像的表单。但是,当文件输入为空时,类函数 (addImgToNieuws) 仍会运行。
代码如下:
if($_POST && !empty($_POST['title']) && !empty($_POST['description']) ) {
$response = $mysql->addNieuwsItem(
$_POST['title'],
$_POST['description'],
$id
);
if(!empty($_FILES['images']) && $_FILES['images']['error'] != 4){
$response = $mysql->addImgToNieuws(
$_FILES['images']
);
}
}
形式:
<form action='' method='post' enctype='multipart/form-data' />
<input type='text' name='title' placeholder='Titel' />
<textarea name='description' placeholder='Descriptie'></textarea>
<input type='file' name='images[]' multiple />
<input type='submit' name='submit' value='Plaatsen' />
</form>
类函数:
function addImgToNieuws($images){
echo 'Function runs';
}
编辑:这是否与它作为数组发布的事实有关?
【问题讨论】:
-
你在这里使用什么 ORM,或者你有没有自己制作?
addNieuwsItem不是标准的 PHP 函数。 -
你为什么要检查
4的错误代码?仅当值为0时,您才应继续上传。 -
试试
if(!empty($_FILES['images']) && $_FILES['images']['error'] === UPLOAD_ERR_OK) -
感谢@jeroen - 我只是使用了正确的 PHP 常量而不是
(int) 0;) -
大声笑-我们错过了我认为的明显...
$_FILES['images']将是一个数组,因为您要进行多次上传...您将需要循环它@987654330 @ 然后检查每个$iError === UPLOAD_ERR_OK;)
标签: php mysql forms input mysqli