Heim >Backend-Entwicklung >PHP-Tutorial >So konfigurieren Sie php.ini für die Implementierung der PHP-Datei-Upload-Funktion
So konfigurieren Sie php.ini für die Implementierung der PHP-Datei-Upload-Funktion
In diesem Artikel wird beschrieben, wie Sie php.ini für die Implementierung der PHP-Datei-Upload-Funktion konfigurieren. Dazu gehören die Optionen upload_tmp_dir, upload_max_filesize, post_max_size und andere in der Konfigurationsdatei php.ini. Diese Optionen sind der Schlüssel zum Erfolg oder Misserfolg des Datei-Uploads. Als Beispiel nehmen wir die Windows-Version von php.5.3.5.
Beschreibung der Konfigurationsoptionen für die Datei-Upload-Funktion in php.ini
Verwenden Sie ein Texttool (EditPlus empfohlen), um die Konfigurationsdatei php.ini zu öffnen und nach Datei-Uploads zu suchen. In diesem Bereich gibt es die folgenden drei Optionen:
file_uploads = Ein
Ob HTTP-Datei-Uploads zugelassen werden sollen. Der Standardwert ist „Ein“, um das Hochladen von HTTP-Dateien zu ermöglichen. Diese Option kann nicht auf „Aus“ gesetzt werden.
upload_tmp_dir =
Das temporäre Speicherverzeichnis für Datei-Uploads. Wenn nicht angegeben, verwendet PHP das standardmäßige temporäre Verzeichnis des Systems. Diese Option ist standardmäßig leer, wenn die PHP-Laufumgebung manuell konfiguriert wird. Wenn diese Option nicht konfiguriert ist, muss dieser Option ein Wert zugewiesen werden, z. B. upload_tmp_dir = ". d:/fileuploadtmp". Dies bedeutet, dass sich im Laufwerksverzeichnis D ein Verzeichnis fileuploadtmp befindet und diesem Verzeichnis Lese- und Schreibberechtigungen erteilt wurden.
upload_max_filesize = 2M
Maximale Größe der hochgeladenen Dateien. Der Standardwert dieser Option ist 2 MB, d. h. die Datei-Upload-Größe beträgt 2 MB. Wenn Sie eine 50 MB große Datei hochladen möchten, müssen Sie upload_max_filesize = 50 MB festlegen.
Aber nur die Einstellung upload_max_filesize = 50M kann die Upload-Funktion großer Dateien immer noch nicht realisieren. Wir müssen auch die Option post_max_size in der Datei php.ini ändern.
Suchen Sie weiter nach „Datenverarbeitung“ in php.ini. In diesem Bereich gibt es 1 Option:
post_max_size = 8M
Bezieht sich auf den Maximalwert, der über das Formular per POST an PHP empfangen werden kann, einschließlich aller Werte im Formular. Der Standardwert ist 8M. Wenn die POST-Daten das Limit überschreiten, sind $_POST und $_FILES leer.
Um große Dateien hochzuladen, müssen Sie den Wert dieser Option auf einen größeren Wert als den Wert der Option upload_max_filesize festlegen. Wenn Sie beispielsweise upload_max_filesize = 50 MB festlegen, können Sie post_max_size = 100 MB festlegen.
Wenn das Speicherlimit aktiviert ist, sollte dieser Wert außerdem kleiner sein als der Wert der Option „memory_limit“.
Suchen Sie weiterhin nach Ressourcenlimits in php.ini. In diesem Bereich gibt es drei Optionen:
max_execution_time = 30
Der maximale Zeitwert (in Sekunden) für die Ausführung jeder PHP-Seite. Der Standardwert beträgt 30 Sekunden. Wenn wir eine größere Datei hochladen, beispielsweise eine 50-Megapixel-Datei, dauert die Ausführung wahrscheinlich mehrere Minuten. Die standardmäßige maximale Ausführungszeit der PHP-Seite beträgt jedoch 30 Sekunden. Wenn sie 30 Sekunden überschreitet, wird die Ausführung des Skripts gestoppt. Dies führt dazu, dass beim Öffnen einer Webseite nichts mehr möglich ist. Daher können wir den Wert größer einstellen, z. B. max_execution_time = 600. Wenn der Wert auf 0 gesetzt ist, bedeutet dies, dass es kein Zeitlimit gibt.
max_input_time = 60
Die Zeit (in Sekunden), die jedes PHP-Skript benötigt, um die Anforderungsdaten zu analysieren. Der Standardwert beträgt 60 Sekunden. Wenn wir große Dateien hochladen, können wir diesen Wert größer einstellen. Wenn der Wert auf 0 gesetzt ist, bedeutet dies, dass es kein Zeitlimit gibt.
Memory_limit = 128 MB
Mit dieser Option wird der maximale Speicherplatz festgelegt, den ein einzelnes PHP-Skript beantragen kann. Dadurch wird verhindert, dass schlecht geschriebene Skripte den verfügbaren Speicher auf dem Server beanspruchen. Setzen Sie dies auf -1, wenn keine Speicherbeschränkungen erforderlich sind.
Versionen vor php5.2.0 sind standardmäßig 8 MB groß; die Version php.5.2.0 ist standardmäßig 16 MB groß. Versionen nach PHP 5.2.0 sind standardmäßig auf 128 MB eingestellt.
Angenommen, Sie möchten eine große Datei von 50 MB hochladen. Konfigurieren Sie php.ini wie folgt:
file_uploads = Ein
upload_tmp_dir = "d:/fileuploadtmp"
upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 128M
Tipp: Sie müssen „memory_limit > post_max_size >“ beibehalten