如何从$ _FILES数组中丢弃空的HTML表单输入

时间:2013-11-04 19:38:27

标签: php html mysql arrays

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

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

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

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

如何摆脱这些空数组值?甚至可能在使用内爆函数之前?

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

感谢

2 个答案:

答案 0 :(得分:2)

使用 array_filter 。它是一个函数,它使用指定为参数的另一个函数迭代数组。 但是如果你没有传递这个论点,那么array_filter只会摆脱与FALSE相等的值。

$images = implode(',', array_filter($_FILES['images']));

答案 1 :(得分:1)

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

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