2017-02-25 9 views
2

Ich versuche, die Anzahl der an meine Formulare angehängten Dateien zu zählen. Folgendes ist mein HTML-Code.Count funktioniert nicht richtig. Laravel

<label class="control-label">Select Images</label> 
<input id="image" name="image[]" multiple type="file"> 

Ich habe folgendes verwendet, um zu zählen.

Das Problem, das ich gegenüberstelle, ist, es zeigt 1, auch wenn keine Datei angehängt wurde.

Was kann getan werden, um zu prüfen, ob keine Datei angehängt wurde?

+0

Wie viele Eingänge haben Sie? – C2486

+0

Wenn ich keine auswähle, wird 1 angezeigt. Wenn ich 1 auswähle, wird 1 angezeigt. WENN ich 2 auswähle, wird 2 angezeigt. – Anon

Antwort

0

return count($request->image); kehrt 1, da $request->image einen leeren String „gibt“ sogar mit keiner Datei ausgewählt. Sie können nur Werte zählen, die nicht leer in Array sind mit array_filer() Funktion:

return count(array_filter($request->image)); 

Sie bestimmen können, ob eine Datei auf Wunsch vorhanden ist, um die hasFile Methode. Denken Sie daran, Datei-Methode wird für hochgeladene Dateien nicht nur ausgewählt.

if ($request->hasFile('image')) { 
    // 
} 
0

Vielleicht so etwas?

return empty($request->file('image')); 
+0

Der Response-Inhalt muss eine Zeichenfolge oder ein Objekt sein, das __toString(), "boolean" implementiert. – Anon

Verwandte Themen