Upload von mehr als 2MB – PHP, HTTP, JavaScript

Thomas_Jung

Erfahrenes Mitglied
Hallo,
kann ich überhaupt ein File grösser als 2MB hochladen ausser mit einem FTP-Client?

Ein User meinte:

Soweit ich weiß, werden HTTP hochgeladene Dateien nicht im RAM, sondern auf der Festplatte in nem tmp oder swap file gespeichert, oder?

Gibt es eine Lösung oder kann ich das mehr als 2MB hochladen entgültig aus meinem Kopf verbannen.

Gruß Thomas
 
Natuerlich koennen auch mehr als 2MB hochgeladen werden.
Die maximale Uploadgroesse wird in der php.ini ueber die beiden Parameter upload_max_filesize und post_max_size limitiert.

Und ja, die Dateien landen nach dem Upload erstmal in einem temporaeren Verzeichnis, in der Regel ist dies /tmp, und zwar mit einem zufaellig erstellten Namen ohne Dateiendung.
 
Hallo Dennis,

Ich hatte vergessen zu erwähnen das ich leider keinen Zugriff auf die php.ini habe. :-)

Gruß Thomas
 
Das ist nicht ganz richtig.

PHP:
PHP-Script: 

ini_set("upload_max_filesize", "25M");
ini_set("max_execution_time", "500");
ini_set("post_max_size", "500");

PHP:
.htaccess

php_value upload_max_filesize 25M
 
Die wenigsten Hoster werden wohl ini_set() zulassen, denn ansonsten koennte man die gesamten PHP-Einstellungen aushebeln, und das ist ja nicht unbedingt im Sinne des jeweiligen Hosters.
 
Es ist die Antwort auf seine Frage, wenn er keinen Zugriff auf die php.ini hat.

Es kommt immer darauf an, wie der Server konfiguriert ist. Zum Beispiel könnte der Server eines Kunden in einer Sandbox laufen. Dort wäre es schon möglich, dass der Anwender seine Konfiguration ändern kann, sofern sie nicht der Standardkonfiguration entspricht, um sie anzupassen. Die Webhoster, die ich kenne, setzen kleine Vorgaben, die man später ändern kann.

Gibt halt Billighoster, die resellen und von nichts ne Ahnung haben und nur eine Admin-Reseller-Oberfläche bedienen können - oder richtige Provider, muss man halt sehen.

Dieser Faktor ist hier nicht bekannt. Deswegen war meine Antwort korrekt unter Berücksichtigung der derzeitigen Ausgangssituation unter den bis jetzt bekannten Informationen (<-- macht seine Hausaufgaben - und will anderen ein bisschen helfen) korrekt.
 
bk75 hat gesagt.:
Es ist die Antwort auf seine Frage, wenn er keinen Zugriff auf die php.ini hat.

Es kommt immer darauf an, wie das Web konfiguriert ist. Zum Beispiel könnte das Web eines Kunden in einer Sandbox laufen, dort wäre es schon möglich, dass der Anwender seine Konfig ändern kann, sofern sie nicht der Defaultkonfig entspricht um sie anzupassen. Die Webhoster die ich kenne setzen kleine Defaultvorgaben die man später ändern kann.

Gibt halt Billighoster die resellen und von nichts ne Ahnung haben und nur eine Admin-Reseller Oberfläche bedienen können - oder richtige Provider, muss man halt sehen.

Dieser Faktor ist hier nicht bekannt. Deswegen war meine Antwort korrekt unter Berücksichtigung der derzeitigen Ausgangssituation unter den bis jetzt bekannten Informationen (<-- macht seine Hausaufgaben - und will anderen ein bisschen helfen) korrekt.
Und ich schlage grundsaetzlich nichts vor was nicht ueberall funktioniert. Z.B. solche abartigen Sachen wie Dateien mittels fopen() von einem anderen Server zu lesen.
Wenn ich Hoster waere wuerde ich dafuer sorgen, dass mir niemand Loecher in die Konfiguration zimmern kann. Der User muss erstmal als dumm und als Gefahr fuer die Serversicherheit angesehen werden damit man eben die gewaehrleisten kann.

Nachtrag: Da die Grundsatzdiskussion zum Thema Sicherheit doch etwas zu offtopic war hab ich das Thema geteilt. Hier geht es weiter.
 
Zurück