2 Variablen Kombinieren

Ozzy Ozborn

Erfahrenes Mitglied
Hi,

ich will Bilder hochladen (max. 5). Dafür soll eine Schleife durchlaufen werden, doch irgendwie mag er die Zusammensetzung der Variablen nicht...

if($send)
{
for($count = 1; $count < $Anzahlbilder; $count++) {
if(isset($datei$count) && $datei$count!="none") {
$dateiendung = strrchr($datei$count_name, ".");
$neuer_dateiname = $user_id-$count.$dateiendung;
move_uploaded_file($datei$count, "../cache/".$neuer_dateiname);
}
else
{
echo"Bitte geben Sie eine Datei an!";
}
}
}

Könnt Ihr mir sagen, was ich falsch mache, und wie es richtig lauten müsste? Vielen Dank im Voraus!
 
Du setzt Variablen mit einem . (Punkt) zusammen.
Beispiele:
PHP:
//falsch:
$datei$count

//richtig:
$datei.$count


//falsch:
$user_id-$count.$dateiendung

//richtig:
$user_id . '-' . $count . $dateiendung

Vielleicht solltest du dich nochmal gründlich mit den PHP-Grundlagen auseinandersetzen.
 
Hm, da gibt er mir immer noch eine Fehlermeldung:


Parse error: syntax error, unexpected '.', expecting ',' or ')' in C:\apachefriends\xampp\htdocs\test\einstellen.php on line 68

und das betrifft die Zeile:

if(isset($datei.$count) && $datei.$count!="none") {

Was nun?

P.S. Ich setzte mich auch schon mit den Grundlagen auseinander, aber in diesem Punkt wußte ich einfach nicht weiter...
 
Du musst afaik die Variablen bereits vorher "zusammensetzen", also so:
PHP:
$dateicount = $datei . $count;
if (isset($dateicount) && $dateicount != 'none') {
 
Also irgendetwas funktioniert da noch nicht so richtig, oder ich mache etwas gehörig falsch; jetzt lädt er gar nichts mehr hoch...

Bei mir sieht es jetzt so aus:

if($send)
{
for($count = 1; $count < $Anzahlbilder; $count++) {
$dateicount = $datei . $count;
if(isset($dateicount) && $dateicount!="none") {
$dateiendung = strrchr($dateicount_name, ".");
$neuer_dateiname = $user_id . '-' . $count . $dateiendung;
move_uploaded_file($dateicount, "../cache/".$neuer_dateiname);
}
else
{
echo"Bitte geben Sie eine Datei an!";
}
}
}

damit sollen die Dateien geuploaded werden. Unten sind die Felder namens:

<input name="datei1" type="file">
---
<input name="datei5" type="file">


Bitte helft mir: was mache ich falsch? Blicke gerade gar nicht mehr durch...
Ozzy
 
Soweit es jetzt bei mir; was aber nicht funktioniert, ist die richtige Dateiendung...

$dateicount = ${'datei'.$count};
...
$dateiendung = strrchr($dateicount_name, ".");


Was kann ich da noch machen? Vielen Dank schon einmal für Eure Hilfe!
 
Zuletzt bearbeitet:
Zurück