Frage

Ich versuche, eine Datei über ein PHP-Skript hochgeladen zu bekommen, aber meine $ _FILES Array ist immer leer? My $ _POST Dateneingabe für das Datei HTML-Eingabeelement hat die Dateinamen ... Nur keine Datei auf meinem lokalen System erstellt wird.

Ich habe überprüft, Schreibzugriff auf den temporären Ordner und explicity setzen es. Ich habe überprüft phpinfo () sicher, dass das Hochladen von Dateien zu machen aktiviert sind, und sie sind.

Was werden verhindern könnte? mod_rewrite verursachen würde alles?

Danke!

War es hilfreich?

Lösung

Wenn Sie die richtige enctype (<form method="post" enctype="multipart/form-data">) haben, dann überprüfen Sie die Variable errno in $ _FILES, gibt es verschiedene mögliche Ursachen für einen Ausfall. Typisch ist MAX_FILE_SIZE überschritten wird.

http://php.net/manual/en/features. Datei-upload.errors.php

  

Seit PHP 4.2.0, PHP liefert ein   entsprechender Fehlercode zusammen mit der   Datei-Feld. Der Fehlercode kann   in dem Fehler Segment der Datei gefunden   Array, die während der Datei erzeugt wird   Upload von PHP. Mit anderen Worten, die   Fehler kann gefunden werden   $ _FILES [ 'userfile'] [ 'error'].

     

UPLOAD_ERR_OK Wert: 0; Es gibt kein   Fehler, die Datei mit Erfolg hochgeladen.

     

UPLOAD_ERR_INI_SIZE Wert: 1; Das   Die hochgeladene Datei überschreitet die   upload_max_filesize in   php.ini.

     

UPLOAD_ERR_FORM_SIZE Wert: 2; Das   Die hochgeladene Datei überschreitet die   MAX_FILE_SIZE Richtlinie, die war   in dem HTML-Formular angegeben.

     

etc.

Andere Tipps

definieren Sie die enctype in Ihrer Form?

<form method="post" enctype="multipart/form-data">

Es wird keine Datei hochgeladen werden, wenn Sie es nicht gesetzt.

Ist die Form das Recht enctype haben?

enctype="multipart/form-data"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top