array_filter() erwartet, dass Parameter 1 ein Array in PHP ist

Lesezeit: 2 Minuten

Benutzer-Avatar
Tweakdev

Ich habe seit einigen Tagen ein Problem mit einer Leitung.

Hier ist mein Code:

$files = array();
$count = count(array_filter($_FILES['fichier']['name']));
echo $count;

for($i=0;$i<$count;$i++){
    array_push($files, $_FILES['fichier']['tmp_name'][$i]);
}

Dieser Code befindet sich in einem Formular, aber wenn ich mein Formular absende, erhalte ich diese Fehlermeldung:

Warnung: array_filter() erwartet, dass Parameter 1 ein Array ist, Null in …

Dieser Teil des Codes funktioniert in der FR-Version, aber als ich versuchte, in der EN-Version zu kopieren/einzufügen, funktioniert es nicht.

Ich habe alles versucht, nichts passiert.

Vielen Dank.

BEARBEITEN :

var_dump(array_filter($_FILES['fichier']['name']));

gib mir das zurück:

NULL

wenn ich versuche, 1 oder viele Dateien hochzuladen.

  • array_filter($_FILES['fichier']['name']) gibt eine Zeichenfolge zurück, die den Dateinamen enthält, der unter das Feld hochgeladen wurde fichier. Sie bearbeiten die Frage, um Ihre Anforderung zu erläutern. Vielleicht können wir Ihnen helfen. Was ist es, dass du das nicht kannst $count sein?

    – Romeo Sierra

    31. Mai 2018 um 7:48 Uhr


  • var_dump($_FILES)

    – u_mulder

    31. Mai 2018 um 7:52 Uhr

  • $count gibt mir jedes Mal 0 zurück, auch wenn ich 1 oder viele Dateien hochlade. Dieser Teil des Codes funktioniert gut in der FR-Version, ich kann das Problem nicht verstehen.

    – Tweakdev

    31. Mai 2018 um 7:52 Uhr

  • @u_mulder var_dump($_FILES) gibt mir zurück: array(0) { } , auch wenn ich zum Beispiel zwei Dateien hochlade

    – Tweakdev

    31. Mai 2018 um 7:53 Uhr

  • Also die echtes Problem ist das $_FILES leer. Überprüfen Sie Ihr Formular. Haben Sie enctype Attribut für ein Formular?

    – u_mulder

    31. Mai 2018 um 7:54 Uhr

Benutzer-Avatar
Islam Khaled

Ich denke, wenn Sie diesen Fehler sehen, können Sie dies verwenden:

<td>{{ is_array($client->phone) ? implode($client->phone, '-') : $client->phone }}</td>

Benutzer-Avatar
bültge

Das array_filter Die Funktion in Ihrer Quelle benötigt ein Array als Parameter, und Sie verwenden eine Zeichenfolge. Sie sollten sicherstellen, dass der Parameter ein Array ist. Wenn Sie das überprüfen, sollten Sie die Hilfe von verwenden is_array.

Das kannst du so prüfen

if(is_array($_FILES['fichier']['name'])){
    $count = count(array_filter($_FILES['fichier']['name']));
} else {
    $count = 0;
} 
echo $count;

1365850cookie-checkarray_filter() erwartet, dass Parameter 1 ein Array in PHP ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy