Tom: PHP copy von HTTP_POST_FILES: permission denied

Beitrag lesen

Hello,

Was steht denn drin in $HTTP_POST_FILES?
Lass Dir das mal ausgeben nach dem Upload

nach einem
  echo htmlentities(print_r($HTTP_POST_FILES,true));
bekomme ich folgendes:

Array
(
    [file] => Array
        (
            [name] => script.sql
            [type] => text/x-sql
            [tmp_name] => /tmp/phpfXPrz3
            [error] => 0
            [size] => 793
        )

)

(also scheint mit dem HTTP-Post alles geklappt zu haben).
Das Problem ist wahrscheinlich ein Rechteproblem; ich weiss nur nicht welches, da das Zielverzeichnis world-writable ist.

Hast Du noch eine Idee?

BTW: $HTTP_*_VARS solltest Du nicht mehr benutzen und auch nicht register_globals = on, wenn es sich vermeiden lässt.

Wenn das die einzige Meldung ist, könnte das damit zusammenhängen, dass im Verzeichnis bereits ein File dieses Namens vorhanden ist, das schreibgeschützt ist. Das halte ich aber selber für unwahrscheinlich.

Für wahrscheinlicher halte ich, dass das eine verkürzte Fehlermeldung ist und Du bei

error_reporting(E_ALL);
  ini_set('display_errors','On');  # oder '1'
  ini_set('track_errors','On');    # oder '1'

und dann nach jeder IO-Operation die Variable $php_errormsg abfragen.

$fh = fopen($zieldatei,'w');     # $zieldatei kommt aus $_FILES['userfeldname']['tmp_name']
  if (!empty($php_errormsg)) echo "htmlentities($php_errormsg)";

...

Probier es mal so, um die Ursach zu finden.

Später solltest Du dann move_uploaded_files() benutzen.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau