copy(), register_globals=off, $_FILES[ARRAY]
Julius
- php
Hallo,
ich habe folgendes Problem seit dem ich die register_globals = off (auf OFF) habe:
in meinem Skript werden mehrere Bilder in einem Array upgeloadet:
<INPUT NAME='img[$i]' TYPE='file'>
jetzt möchte ich mittels copy() diese dateien aufspielen:
for ($z=0; $z<$anzahl; $z++)
{
copy("$img[$z]" , "../../graphic/antwort/$img_name[$z]");
}
SO WEIT SO GUT!
Aber seit ich register_globals=off habe geht das natürlich nicht mehr!
Also hole ich mir die Variablen mittels $_FILES[].
$imgfile = $_FILES['img'][$z];
$imgname = $_FILES['img']['name'][$z];
for ($z=0; $z<$anzahl; $z++)
{
copy("$imgfile, "../../graphic/antwort/$imgname");
}
JETZT DAS KOMISCHE:
$imgname = $_FILES['img1']['name'][$z]; KLAPPT, der Name wird übermittelt, DOCH
$imgfile = $_FILES['img1'][$z]; wird NICHT übermittelt!
$imgfile bleibt leer! Wie Komme ich unter diesen Umständen an den FILE? Ich probiere das jetzt schon seit Stunden in allen denklichen Varianten, doch nichts hilft!
Wer kann mir helfen? VIELEN DANK,
Julius!
Hallo Julius,
ich glaube, Du suchst: http://www.php.net/manual/de/features.file-upload.php und zwar konkret:
$_FILES['userfile']['tmp_name']
Der temporäre Dateiname, unter dem die hochgeladene Datei auf dem Server gespeichert wurde.
Schau Dir statt copy() auch mal http://www.php.net/manual/de/function.move-uploaded-file.php an.
Gruss, Thoralf
Moin!
$imgfile bleibt leer! Wie Komme ich unter diesen Umständen an den FILE? Ich probiere das jetzt schon seit Stunden in allen denklichen Varianten, doch nichts hilft!
Debugging-Tipp Nummer 1: Immer, wenn unklar, ist, welche Inhalte in einer Variablen enthalten sind, dann lasse dir diese Inhalte testweise ausgeben:
var_dump($variable);
Debugging-Tipp Nummer 2 (oder 1a): Bei Problemen mit Formulardaten lass dir die übermittelten Daten ausgeben:
php_info(INFO_VARIABLES); (oder einfach nur php_info() und runterscrollen.)
Dann siehst du, was in der Variablen drin steht und was du abfragen mußt.
- Sven Rautenberg