Datei kopieren unter register_globals off

qsrs

Erfahrenes Mitglied
Hallo,

ich kopiere eine Datei mittels copy(); in ein Verzeichnis auf dem Server. Das funktioniert nur, wenn register_globals auf off steht.

Das Dateifeld habe ich mit files bezeichnet. Bevor ich den copy-Befehl ausführe, prüfe ich, ob $files leer ist, falls ja, führe ich eine andere Aktion aus. Sobald register_globals auf off steht, ist $file leer, obwohl ich eine Datei hoch lade. Ich muss dazu noch erwähnen, dass ich das Ganze in einer Funktion verwende, aber auch in dieser habe ich $file mit global(); deklariert.

Ich stehe gerade etwas auf dem Schlauch und würde mich über eure Hilfe freuen. Vielen Dank.
 
Hi,

"file" ist also der name deines Uploadfeldes? Dann kannst du ohne register_globals über $_FILES["file"] darauf zugreifen.

Das solltest du im Übrigen immer tun, auch für get und post Variablen - ist sicherer.
 
Danke, das war es. Ich habe jetzt aber ein neues Problem. Bei der Datei handelt es sich um ein JPG.

Ich setzte folgende Variablen:

$file = $_FILES["file"];
$image = getimagesize ($file);

Ich bekomme darauf folgenden Fehler: getimagesize(Array): failed to open stream: No such file or directory in /is/htdocs/123/execute.php on line 482
 
Zuletzt bearbeitet:
Die Dateigröße ist bereits gespeichert in $_FILES.

PHP:
echo $_FILES['file']['size'];

Übermittel am besten mal eine Datei und lass dir den gesamten $_FILES Array ausgeben, damit du alle Werte sehen kannst.
 
Danke, das war's. Allerdings habe ich doch getimagesize verwenden müssen, da ich ja nicht nur die Größe, sondern auch die Dimensionen des Bildes benötige, also so
PHP:
$image = getimagesize ($_FILES["file"]["tmp_name"]);
Kannst Du mir noch kurz sagen, wie ich das komplette Array, also alle Werte von $_FILES ausgeben lassen kann?
 

Neue Beiträge

Zurück