0

我有一个带有多个文件输入的 HTML 表单

<input type='file' id='images' name='images[]'>

我使用 implode() 将 $images 数组转换为逗号分隔的字符串并将其插入到我的 DB 中,然后在调用时我使用 explode() 来调用单个图像。

问题是:空输入字段仍然提交到数据库,所以当爆炸时,我得到空数组值

我怎样才能摆脱这些空数组值?甚至在使用内爆功能之前?

我正在考虑运行一个 foreach 循环抛出 $_FILES['images'] 数组并从中丢弃空值并重建一个新数组..但是有更简单的方法吗?

谢谢

4

2 回答 2

2

使用array_filter。它是一个函数,它使用指定为参数的另一个函数迭代数组。但是,如果您不传递此参数,array_filter则将简单地摆脱等于 fo 的值FALSE

$images = implode(',', array_filter($_FILES['images']));
于 2013-11-04T19:43:04.037 回答
1

$images = array_filter($_POST['images']);

但我会重新考虑数据库设计。您可能不应该这样存储列表。

于 2013-11-04T19:43:10.760 回答