Fehler beim PHP upload mit move_uploaded_file

Apache, Lighttpd, nginx, Cherokee
Post Reply
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi,

ich habe eine php datei, die mittels move_uploaded_file eine datei hochlädt. funktioniert alles wunderbar. Jetzt hab ich versucht eine Datei 3 MB hochzuladen. Dies funkioniert leider nicht. Ich bekomme auch keine Fehlermeldung das die Datei zu Gross ist.
Jetzt hab ich in php.ini nachgeschaut und dort mit folgenden Werten ( leider ohne Erfolg ) probiert.
max_excecution_time 300
upload_max_filesize 10MB
default_socket_timeout 600

hat alles nicht funktioniert.
1) Kann mir jemand weiterhelfen. Hab ich die falsche Config erwischt.
2) Kann man diese Werte evtl. über Confixx ?

Ich hab absolut keine Ahnung mehr was ich machen muss damit ich diese Datei mit den phpScript hochladen kann. Kann mir jemand weiterhelfen oder einen Tip geben.

Danke und gruss
ming
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by jhnet »

Hm,

während Du die Datei hochlädst kommt sie aber im PHP-Temp Verzeichnis an?
Gibt es überhaupt irgendeine Meldung, vielleicht im error_log des Servers oder bleibt das Script einfach hängen?
Mit phpinfo() hast Du vermutlich schon nachgeschaut ob in dem Verzeichnis bzw. VH Deine Konfiguration auch stimmt.
Ã?bergibt Dein Script eine Variable namens MAX_FILE_SIZE, wenn nicht wäre das vielleicht noch eine Möglichkeit.

Bye,
Jörg
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi,

ich kriege absolut keine Meldung das ist ja das was mich irritiert. Das hidden Feld MAX_FILE_SIZE ist korrekt gesetzt. In Tmp verzeichnis kommt glaube ich eine kaputte datei an. Ich bin mir jetzt nicht sicher ob das davon kam.

gruss ming
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by jhnet »

Hallo,

mir fällt noch ein, dass Du die Werte für memory_limit und vor allem post_max_size in der php.ini mal prüfen bzw. korrigieren solltest. Als Faustregel gilt, memory_limit sollte am grössten sein, post_max_size sollte etwas grösser als upload_max_filesize sein.

Bye,
Jörg
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by andreask2 »

Was genau ist der Rückgabewert von move_uploaded_file()?
Was genau ist im Array $_FILES enthalten?
Enthält $_FILES evtl. eine der Fehlermeldungen von http://de3.php.net/manual/de/features.f ... errors.php ?
Ist die in $_FILES genannte temporäre Datei vorhanden/OK?
Was genau bekommst Du ausgegeben? DIe normale Seite, oder wird ein PHP-Fehler erzeugt - evtl. unterdrückt/geloggt?

Bist Du nach dieser Anleitung vorgegangen: http://de3.php.net/manual/de/features.file-upload.php ?
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi,

ich hab alles genauso gemacht wie in den Anweisung.
Hab grad nochmal ein upload gestartet.
- TMP verzeichnis ist leer
- Es kommt kein Error
- der Rückgabestatus von move_uploaded_file ist 1 = UPLOAD_ERR_INI_SIZE

Hab auch upload_max_filesize in php.ini geändert und den apache neu gestartet. Funzt einfach nicht.
Ich benutze confixx. Muss ich vielleicht da rumschrauben?

gruss ming
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by jhnet »

Na dann weisst Du jetzt zumindest woran es liegt, die upload_max_filesize ist zu klein.
Die php.ini ist nur die halbe Miete, sämtliche php werte kann man auch pro Virtuellem Host einstellen oder auch im script selbst mit ini_set.
Mit confixx selbst hat das wenig zu tun, es ist maximal möglich dass in den von confixx erstellten Virtuellen Hosts eben dieser Wert zu niedrig gesetzt ist.
Ich würde in meinem upload script mal ein ini_get(upload_max_filesize) einbauen um zu schauen von welchem Wert das Script ausgeht.

Bye,
Jörg
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi JHnet,

Danke für die schnelle Antwort. Es klappt jetzt. Hatte bei all den Eintstellung das hidden Feld vergessen hochzusetzen.
Mal noch ne Frage.

So wie ich verstanden habe kann ich den wert in der php.ini also ruhig so lassen
upload_max_filesize 2MB
und dann in php script mit
ini_set
die upload_maxfilesize erhöhen?

gruss ming
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by jhnet »

Hallo,

bis PHP 4.2.x ging das tatsächlich im Script, jetzt ist es begrenzt auf das jeweilige Verzeichnis, siehe auch http://de.php.net/manual/en/ini.php. D.h. Du musst entweder die php.ini anpassen oder den Wert mit php_flag in einer .htaccess im jeweiligen Verzeichnis bzw. in der httpd.conf setzen.

Bye,
Jörg
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi JHnet,

das hört sich ja gut an mit den php_flag. Dann kann ich das bestimmt in Confixx mit einen httpd_spezial eintrag machen.
Weisst du zufällig wie der php_flag zu setzen ist.

Danke und gruss
ming
jhnet
Posts: 98
Joined: 2004-07-20 11:43
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by jhnet »

Hallo,

PHP unterscheidet nach values und boolean, d.h. Values werden mit

Code: Select all

php_admin_value <value_name> <value>
gesetzt, On/Off Einstellungen mit

Code: Select all

php_admin_flag <flag_name> on|off
Ausserdem kommt es darauf an wo Du die Werte setzen willst, php_admin_flag bzw. php_admin_value werden in der httpd.conf verwendet (also auch im httpdspezial von confixx). In der .htaccess Datei darf nur php_flag bzw. php_value benutzt werden.
Einmal in der httpd.conf gesetzte Einstellungen kann man in einer .htaccess nicht mehr überschreiben.
Detailierter nachlesen kannst Du das im PHP manual: http://de3.php.net/configuration.changes

Bye,
Jörg
ming
Posts: 34
Joined: 2004-01-24 01:45
 

Re: Fehler beim PHP upload mit move_uploaded_file

Post by ming »

Hi JHnet,

hab den Artikel auch gelesen. Hab lange rum probiert heute mittag. Man kann es über diesen httpd-spezial Eintrag von confixx eintragen mit "php_admin_value"

Danke dir nochmal.

Ein Bug weniger!
Hehe

gruss ming
Post Reply