2013-11-04 17 views
0

我有多個文件輸入的HTML表單如何丟棄空的HTML表單輸入

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

我使用破滅()到$圖像陣列隱蔽到逗號分隔字符串,並將其插入到我的數據庫,然後在調用時使用explode()來調用單個圖像。

的問題是:空輸入字段仍提交到數據庫,所以爆炸時,我得到空數組值

我怎樣才能擺脫這些空數組值?甚至可能在使用implode函數之前?

我想運行一個foreach循環拋出$ _FILES ['images']數組並丟棄它的空值並重建一個新的數組.. ..但是有更簡單的方法嗎?

感謝

+0

寫更多關於你的程序的細節。 [你的提交表格。和代碼處理這些圖像的PHP代碼] –

回答

2

使用array_filter。它是一個函數,它用指定爲參數的另一個函數迭代數組。 但是如果您不通過此參數,array_filter將簡單地刪除等於FALSE的值。

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

不要忘記,array_filter也刪除(int)0,如果你使用它沒有回調函數,所以考慮使用類似於匿名函數的東西,以確保其空和不(int)0(aka == false) –

+0

正是我在找的:) – Newbie

+1

感謝您的評論,@ mly0 – Newbie

1

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

但我會重新考慮數據庫設計。你可能不應該存儲這樣的列表。