Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Große Datemengen uploaden [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Große Datemengen uploaden


 
in-power
29-07-2010, 06:25 
 
Morgen,

ich habe einem Userbereich die Möglichgkeit angeboten, Daten mittels einem
PHP-Formular auf den Server zu laden.
Dies soll dazu dienen, mit bestimmten User auch größere Datenmengen auszutauschen.
Nun hat ein User versucht mit eine Datei mit ca. 180 MB zu senden und das
Script bricht leider mittendrin ab.
Der Uplaod erfolgt ganz normal mit:
<form enctype="multipart/form-data" action="text.php" method="post" class="form">
Das Speichern der Daten:
move_uploaded_file($_FILES['datei']['tmp_name'],"../daten/".$_FILES['datei']['name']);


Weis mir jemand Rat, wie das verhindern kann.

Kann es sein das es an folgende Servereinstellung liegt:
upload_max_filesize 10M
Wenn ja, wie kann ich das Umgehen?
Danke

 
code-kobold
29-07-2010, 07:53 
 
Das PHP-Manual sagt dazu sub post_max_size:
Setzt die maximal erlaubte Größe von POST-Daten. Diese Option betrifft auch den Datei-Upload. Um größere Dateien hochzuladen, muss der Wert größer sein als upload_max_filesize. Wenn eine maximale Speichergrenze während des Kompilierens aktiviert wurde, dann betrifft auch memory_limit den Datei-Upload. Allgemein sollte memory_limit größer als post_max_size seinDort findest du auch eine Übersicht, welche PHP.ini-Direktiven wie gesetzt werden können.

Vermutlich ist der Upload via POST keine geeignete Strategie.


GZ,

Ron

 
in-power
29-07-2010, 21:13 
 
Danke für die gute Antwort.
Hab da leider nur das Problem das ich auf die php.ini keinen Zugriff habe.

 
sili
29-07-2010, 22:48 
 
Danke für die gute Antwort.
Hab da leider nur das Problem das ich auf die php.ini keinen Zugriff habe.
Schon ini_set() versucht?

 
h3ll
29-07-2010, 23:19 
 
Schon ini_set() versucht?

Wird ihm nix bringen. ini_set() wird aufgerufen, nachdem der Upload beendet (bzw. fehlgeschlagen) ist.

Entweder in der PHP-Konfiguration setzen, oder mit .htaccess (wenn erlaubt).

 
in-power
30-07-2010, 06:11 
 
Danke,

habs mal testet über die.htaccess-datei.
hab folgendes reinegschreiben und geladen:
php_value upload_max_filesize "90M"
php_value post_max_size "95M"
php_value max_execution_time 3200
php_value max_input_time 3200
php_value memory_limit 35M


doch dann habe ich gar keinen zugriff mehr auf den gesamten bereich.
werd doch wohl über einen eigenen server nicht hinwegkommen.
dies hat der provider mir vorgeschlagen

 
unset
30-07-2010, 20:10 
 
Das ist zwar hier wenig zielführend, aber solche großen Daten sollte man nicht per Webinterface austauschen. Extra dafür wurde ein Protokoll erfunden: FTP!


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:24 Uhr.