gpt4 book ai didi

PHP 未检测文件输入值

转载 作者:行者123 更新时间:2023-11-29 12:20:00 25 4
gpt4 key购买 nike

我正在尝试创建一个用户可以插入多个图像的表单。然而,当文件输入为空时,类函数(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';
}

编辑:这是否与它作为数组发布有关?

最佳答案

由于您要上传多个文件,$_FILES['images'] 将是一个数组,您需要相应地处理每个图像上传和错误陷阱。

但是,看起来好像您的 addImgToNieuws() 方法一次性处理整个 $_FILES['images'] 数组,因此与其多次调用它可能最好只记录(或捕获/输出)任何失败。

if(!empty($_FILES['images'])) {

$aErrors = array();
foreach($_FILES['images'] as $aThisImage) {

// capture any errors
// I've put the current $_FILES['images'] array into the errors
// array so you can check the ['name'], ['tmp_name'] or ['error']
// for each individually
if($aThisImage['error'] !== UPLOAD_ERR_OK) {
$aErrors[] = $aThisImage;
}
}

//check the errors
if($aErrors) {
// take appropriate action for your app knowing that
// there has been a problem with *some* images
}

//no errors
else {
$response = $mysql->addImgToNieuws(
$_FILES['images']
);
}
}

关于PHP 未检测文件输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com