Heim > Artikel > Backend-Entwicklung > Grundlegende Einführung in das Hochladen von PHP-Dateien
Über PHP können Dateien auf den Server hochgeladen werden. Daten können per Formular oder Post an den Server übermittelt werden, aber per Post können keine Dateitypdateninformationen übermittelt werden.
1>PHP-Datei-Upload-Befehlskonfiguration
file_uploads=on|off
Bestimmen Sie, ob das PHP-Skript auf dem Server Datei-Uploads akzeptieren kann.max_execution_time=integer
Maximale Zeit in Sekunden, die ein PHP-Skript ausführen kann, bevor ein schwerwiegender Fehler registriert wird.memory_limit=integer
Legen Sie den maximalen Speicher in MB fest, den das Skript zuweisen kann. Dies verhindert, dass außer Kontrolle geratene Skripte den Serverspeicher monopolisieren.upload_max_filesize=integer
Legen Sie die maximale Größe der hochgeladenen Dateien in MB fest.upload_tmp_dir=string
Legen Sie fest, dass die hochgeladene Datei an einem temporären Ort auf dem Server gespeichert wird, bevor sie verarbeitet wird, bis die Datei an ihr endgültiges Ziel verschoben wird.post_max_size=integer
Bestimmt die maximale Größe der Informationen in MB, die über die POST-Methode akzeptiert werden können.
2>$_FILES-Array
<form action="upload_file.php" method="post"enctype="multipart/form-data"> <label for="file">上传文件:</label> <input type="hidden" name="MAX_FILE_SIZE" value="1000"/> <input type="file" name="file" id="file" /> <img id="preview"> <br /> <input type="submit" name="submit" value="Submit" /> </form>
ENCTYPE=“multipart/form-data“:
Dies ist die feste Schreibmethode, andernfalls schlägt der Datei-Upload fehl.
ACTION=“upload.php“:
Definieren Sie den Programmdateipfad für das Hochladen.
METHOD=“post“:
Definieren Sie die Übertragungsmethode als POST. Im Allgemeinen werden Formularübermittlungsdaten auf POST eingestellt.
<input type=“hidden“ name=“MAX_FILE_SIZE“ value=“1000000“>
Dies ist ein verstecktes Feld, das die Obergrenze der hochgeladenen Dateigröße definiert. Wenn dieser Wert überschritten wird, schlägt der Upload fehl. Es muss vor der Datei-Upload-Domäne definiert werden. Der hier definierte Wert darf den in der Datei „upload_max_filesize“ festgelegten Wert nicht überschreiten, andernfalls ist er bedeutungslos (Hinweis: Der Wert von MAX_FILE_SIZE ist nur ein Vorschlag für Der Browser kann tatsächlich leicht umgangen werden. Verlassen Sie sich also nicht auf Browsereinschränkungen. Der maximale Wert für hochgeladene Dateien in den PHP.ini-Einstellungen ist jedoch nicht ungültig Formular „MAX_FILE_SIZE“, da es den Benutzern die Mühe erspart, auf das Hochladen einer großen Datei zu warten, nur um dann festzustellen, dass die Datei zu groß ist)
Dies ist die Datei-Upload-Domäne. Das Attribut „Typ“ muss auf „Datei“ festgelegt werden, das Attribut „Name“ kann jedoch angepasst werden. Dieser Wert wird in der Codedatei verwendet.
<?php print_r($_FILES);?>
Super globale Variable $_FILES, die verschiedene Upload-bezogene Informationen speichert, die für Dateien, die über PHP-Skripte auf den Server hochgeladen werden, von entscheidender Bedeutung sind.
_FILES["file"]["name"] gespeicherte Wert ist der Dateiname im Benutzersystem.
1. Der in der Variablen
3. Der in der Variablen _FILES["file"]["type"] gespeicherte Wert ist der MIME-Typ der Datei, zum Beispiel: text/plain oder image/gif.
5. Der in der Variablen $_FILES["file"]["error"] gespeicherte Wert ist ein beliebiger Fehlercode im Zusammenhang mit dem Datei-Upload. Dies ist eine neue Funktion, die in PHP4.2.0 hinzugefügt wurde.
error stellt jeweils einige Array-Konstanten bereit:
+ 0: Zeigt an, dass kein Fehler aufgetreten ist.
+ 1: Zeigt an, dass die Größe der hochgeladenen Datei den vereinbarten Wert überschreitet. Die maximale Dateigröße wird in der PHP-Konfigurationsdatei angegeben, die Direktive lautet upload_max_filesize.
+ 2: Zeigt an, dass die hochgeladene Dateigröße den durch das Element MAX_FILE_SIZE des HTML-Formulars angegebenen Maximalwert überschreitet.
+ 3: Zeigt an, dass die Datei nur teilweise hochgeladen wurde.
+ 4: Zeigt an, dass keine Dateien hochgeladen werden.
3> Upload-Funktion
PHP bietet außerdem zwei Funktionen speziell für den Datei-Upload-Prozess: is_uploaded_file() und move_uploaded_file().
//确定是否上传文件if (is_uploaded_file($_FILES["file"]["tmp_name"])) { echo '已经上传到临时文件夹'; $filename = "upload".time()."png"; //移动上传文件(将文件移动到指定文件夹) if (!move_uploaded_file($_FILES["file"]["tmp_name"],img/,$filename)) { echo '移动失败'; exit; }else{ echo "移动成功"; } } else { echo '失败'; }
Organisieren Sie verwandte Daten in Entitäten wie Dateien und Verzeichnissen Standort, Größe, Zeitpunkt der letzten Änderung, Zeitpunkt des letzten Zugriffs und andere identifizierende Informationen.
1>Verzeichnisoperation
+ Aktuellen Dateipfad abrufen
1. __FILE__
Aktueller Dateipfad + aktueller Dateiname
2. __DIR__
Aktueller Dateipfad
3. Verzeichnisname ( __FILE__)
Aktueller Dateipfad
4. basename(__FILE__)
Aktueller Dateiname
5. pathinfo(__FILE__)
Assoziatives Array von Informationen über den Pfad, einschließlich: Verzeichnisname, Basis Name und Erweiterung
6. realpath(__FILE__)
Absoluter Pfad (der absolute Pfad kann nur ermittelt werden, wenn die Datei tatsächlich im aktuellen Projekt vorhanden ist und nur die entsprechenden Dateipfadinformationen in der aktuellen Datei gelesen werden können)
__FILE__ und __DIR__ gelten für die aktuelle Datei, dinrname() und basename() gelten für jeden Dateipfad
2> Berechnung der Datenträger-, Verzeichnis- und Dateigröße
1. Dateigröße
Dateigröße($path)
Berechnen Sie die Dateigröße in Bytes.
$file = __FILE__;echo round(filesize($file)/1024).'KB';
Größe des freien Speicherplatzes der Festplatte
disk_free_space()
Der freie Speicherplatz der Festplattenpartition, auf der sich das angegebene Verzeichnis befindet.
$drive = 'C:';echo round(disk_free_space($drive)/1024/1024/1024,2).'GB';
磁盘的总容量
disk_total_space()
指定的目录所在磁盘分区的总容量。
$drive = 'C:';echo round(disk_total_space($drive)/1024/1024/1027,2).'GB';
相关推荐:
Das obige ist der detaillierte Inhalt vonGrundlegende Einführung in das Hochladen von PHP-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!