HTML Upload MAX_FILE_SIZE funktioniert nicht

In PHP können Sie das Array $_FILES verwenden, um die Größe einer hochgeladenen Datei zu überprüfen. Der Wert $_FILES['file']['size'] gibt Ihnen die Größe der hochgeladenen Datei in Bytes. Sie können diesen Wert dann mit einer von Ihnen angegebenen maximalen Dateigröße vergleichen.

Sie können auch die php-ini-Konfiguration upload_max_filesize und post_max_size verwenden, um die maximale Dateigröße einzuschränken, die hochgeladen werden kann.

Sie können diese beiden Werte mit ini_get('upload_max_filesize') und ini_get('post_max_size') abfragen.

Es ist auch eine gute Praxis, die Dateigröße mit der Funktion is_uploaded_file() zu überprüfen, die true zurückgibt, wenn die Datei per HTTP POST hochgeladen wurde, bevor die Datei an einen dauerhaften Ort verschoben wird.

Sie können auch die Funktion move_uploaded_file verwenden, um die hochgeladene Datei zu verschieben. Diese Funktion überprüft, ob die Datei gültig ist und ob sie per HTTP POST hochgeladen wurde, bevor sie verschoben wird.

Hier ist ein Beispiel dafür, wie Sie die Dateigröße überprüfen und die hochgeladene Datei verschieben können:

<?php

if ($_FILES['file']['size'] > $max_file_size) {
    die("Fehler: Die Dateigröße ist größer als die erlaubte Obergrenze.");
}

if (!is_uploaded_file($_FILES['file']['tmp_name'])) {
    die("Fehler: Die Datei wurde nicht per HTTP POST hochgeladen.");
}

move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir . $_FILES['file']['name']);

Sie können auch die Funktion file_upload_max_size() verwenden, um die maximale Dateigröße für Uploads zu bestimmen.

$max_upload = file_upload_max_size();

Es ist wichtig darauf hinzuweisen, dass es wichtig ist, die Dateien auf dem Server sowie auf dem Client zu validieren, da die Clientvalidierung leicht umgangen werden kann.