Über das Upload-Prinzip und den einfachen Upload-Vorgang:
Nur wenn multipart/form-data verwendet wird und die Übermittlungsmethode Post ist, können die Dateidaten verwendet werden vollständig übertragen werden.
Das versteckte Feld MAX_FILE_SIZE (Einheit: Bytes) muss vor dem Dateieingabefeld platziert werden und sein Wert ist die maximale Größe der empfangenen Datei. Dies ist eine Empfehlung für Browser, PHP prüft dies ebenfalls.
Diese Einstellung kann auf der Browserseite leicht umgangen werden. Erwarten Sie also nicht, diese Funktion zum Blockieren großer Dateien zu verwenden. (Aus Gründen der Benutzerfreundlichkeit ist es jedoch besser, dieses Element dem Formular hinzuzufügen, da dadurch die Mühe vermieden werden kann, dass Benutzer lange warten müssen, um große Dateien hochzuladen, und dann feststellen, dass die Datei zu groß ist und der Upload fehlgeschlagen ist.)
//upload.php print_r($_FILES);?>Array(
[file] => Array
(
) [ name] => image.jpg
[type] => image/jpeg
[tmp_name] => F:wamptmpphp41BB.tmp
[size] => 73886 )
)
3. Anwendung der globalen Variablen $_FILES
$_FILES['file']['name' ]; // ist der ursprüngliche Dateiname der hochgeladenen Datei
$_FILES['file']['type'] //Der MIME-Typ der hochgeladenen Datei
$_FILES['file'][' size']; //Die Größe der hochgeladenen Datei in Bytes
$_FILES['file']['error']; //Fehlercode für das Hochladen der Datei
Standardmäßig wird die hochgeladene Datei gespeichert der temporäre Ordner auf dem Server, und sein Verzeichnis wird in php.ini festgelegt
Einige allgemeine Einstellungen im Zusammenhang mit dem Datei-Upload in php.ini:
file_uploads; //Umschalten, um das Hochladen von Dateien über zuzulassen HTTP. Der Standardwert ist ON, was bedeutet, dass upload_tmp_dir aktiviert ist. // Dateien werden an den Ort hochgeladen, an dem temporäre Dateien auf dem Server gespeichert sind. Wenn nicht angegeben, wird der standardmäßige temporäre Ordner upload_max_filesize verwendet Größe der Dateien, die hochgeladen werden dürfen. Der Standardwert ist 2Mpost_max_size; //Bezieht sich auf den Maximalwert, der über Formular-POST an PHP empfangen werden kann, einschließlich aller Werte im Formular. Der Standardwert ist 8M
Einfacher Code:
//Informationen zur hochgeladenen Datei abrufen
$fileName=$_FILES['file']['name']; $fileType=$_FILES['file']['type']; $fileError=$_FILES['file']['error']; $fileSize=$_FILES['file']['size']; $tempName=$_FILES['file']['tmp_name'];// Temporärer Dateiname
// Upload-Dateityp definieren
$typeList = array("image/jpeg", "image/jpg", "image/png", "image/gif"); Definieren Sie die zulässigen Typen
if($fileError>0){ use using using use using ' ' s ' ' s ' durch ‐ ‐ ‐ ‐‐‐ Überschreitet php.ini den Wert der Option Upload_MAX_FILESIZE. " message="Datei schreiben fehlgeschlagen";
break; break $message);
} if(!is_uploaded_file($tempName)){ //De Bestimmen Sie, ob es sich um eine per POST hochgeladene Datei handelt
beenden („Nicht über HTTP POST hochgeladen“);
}else{ Schädliche Dateien hochladen, z. B. die Dateierweiterung des Virus in ein Bildformat ändern
exit("Die hochgeladene Datei ist kein Bild" //Hochladen eine bestimmte Form Dateibegrenzungsgröße
exit("Die hochgeladene Datei überschreitet die Begrenzungsgröße");
}else{ 8 bis GBK Ausgabe
$fileName=str_replace(".", time().".", $fileName);//Fügen Sie im Bild einen Zeitstempel nach dem Namen hinzu, um das Überschreiben von Dateien mit doppelten Namen zu vermeiden
if(move_uploaded_file( $tempName, "uploads/".$fileName)){ echo "Datei erfolgreich hochgeladen! „; 🎜>
Über einige gängige Funktionen zum Hochladen von Dateien in PHP:
file_exists() // Überprüfen Sie, ob die Datei oder das Verzeichnis existiert. is_uploaded_file() // Bestimmen Sie, ob die Datei über HTTP POST hochgeladen wird. move_uploaded_file() // Verschieben Sie die hochgeladene Datei an einen neuen Speicherort. is_writable() // Bestimmen Sie die angegebene Datei Ob der Dateiname beschreibbar ist iconv() //Konvertierung der Zeichenkodierung str_replace() //String-Ersetzung (Ändern des Dateinamens, um doppelte Namen zu verhindern) getimagesize() //Überprüfen Sie, ob es sich um eine Bilddatei handelt (andere Dateitypen ändern sich). auch wenn der Suffixname geändert wird) kann ebenfalls erkannt werden)