Heim > Backend-Entwicklung > PHP-Tutorial > Wie löse ich Probleme beim Hochladen von Dateien in PHP mit $_FILES?

Wie löse ich Probleme beim Hochladen von Dateien in PHP mit $_FILES?

Linda Hamilton
Freigeben: 2024-11-29 22:36:10
Original
623 Leute haben es durchsucht

How to Solve File Upload Issues in PHP Using $_FILES?

Hochladen von Dateien mit PHP

Diese Anleitung zeigt, wie man Dateien in PHP hochlädt und behebt einen häufigen Fehler, der bei früheren Ansätzen aufgetreten ist.

Problem:

Beim Versuch, eine Datei in einen angegebenen Ordner hochzuladen, tritt ein Fehler auf entsteht durch die Verwendung der veralteten Variablen HTTP_POST_FILES.

Lösung:

Der folgende PHP-Code bietet eine modernisierte und aktualisierte Lösung für Dateien Hochladen:

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$allowedTypes = ['jpg', 'png'];

if (isset($_POST["submit"])) {
    // Check file type
    if (!in_array($imageFileType, $allowedTypes)) {
        $msg = "Type is not allowed";
    }
    // Check if file already exists
    elseif (file_exists($target_file)) {
        $msg = "Sorry, file already exists.";
    }
    // Check file size
    elseif ($_FILES["fileToUpload"]["size"] > 5000000) {
        $msg = "Sorry, your file is too large.";
    }
    elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
    }
}
Nach dem Login kopieren

Erklärung:

  • $_FILES["fileToUpload"] ruft die Datei-Upload-Informationen ab.
  • $target_dir gibt an den Zielordner.
  • Bedingte Anweisungen prüfen den Dateityp, die Existenz und Größe.
  • move_uploaded_file() verschiebt die Datei an den angegebenen Speicherort.
  • Die Variable $msg speichert Nachrichten basierend auf dem Upload-Status.

HTML Code zum Hochladen:

<form action="upload.php" method="post">
Nach dem Login kopieren

Mit diesem aktualisierten Code können Sie Dateien erfolgreich auf Ihr hochladen Wählen Sie den gewünschten Ordner aus und behandeln Sie Validierungsfehler entsprechend.

Das obige ist der detaillierte Inhalt vonWie löse ich Probleme beim Hochladen von Dateien in PHP mit $_FILES?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage