PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablen als Strings... oder umgekehrt


senar
20.08.2009, 12:38:55
Hallo ihr Helden,

ich bin zwar nicht mehr blutjunger PHP-Anwender, aber ich bin scheinbar zu blöd, eine einfache Aufgabe zu lösen.

Folgender Code:<?php
// Name des Albumornders
$album="park";

$a_dateien = glob('$album/*.jpg');
$i=count( (is_array($a_dateien) ? $a_dateien : NULL) );
echo "Anzahl: $i <br />";
for ($n=1; $n <= $i; $n++)
{
echo "<a href='$album/bild$n.jpg'><img src='$album/bild$n.jpg' width='200' height='250' border='5'></a>";
}
?>

Das ist die Grundstruktur für einen Fotoblog. Die Idee ist, dass ich eine index.php hab (diese hier), die auf verschiedene Ordner im Verzeichnis zugreifen kann, die Anzahl der Datein ausließt und sie dann der Reihe nach als Bilder ausgibt. So far...

Weil ich die Variable $album später noch über POST , GET von woanders bekommen will und nicht für jedes album einen eigen Datei möchte, brauch ich diesen Aufbau... denke ich. Nun allerdings scheint es irgendein Problem mit der Variable und der Ausgabe in der Funktion glob() zu geben. Ich bekomme als Ergebnis immer NULL, obwohl datein vorhanden sind.

Leider fehlt mir das nötige Verständnis für dieses verflixte Variablen-String-Hinundher. Vielleicht erbarmt sich ein netter Profi und weist mich FREUNDLICH auf mein Problem hin.

Ich will keine "Du blöder Hund, benutze doch goolge und nerv mich nicht"-Antworten. Euch frage ich auch nicht.

Bestens, Christian.

DokuLeseHemmung
20.08.2009, 12:55:32
Ich will keine "Du blöder Hund, benutze doch goolge und nerv mich nicht"-Antworten. Euch frage ich auch nicht.
So....
Du möchtest also nicht hören: Mach dich über Strings und ihre Quotes in PHP kundig.
Schade, dabei würde dir das sicherlich helfen.....

frerd
20.08.2009, 13:36:52
Ich glaube den Fehler gefunden zu haben! Änderungen habe ich in deinem Code eingearbeitet und markiert.

Zeile 5: das Hochkomma vor $album weg (Variable) dafür hinter $album ein "." (Punkt) und das Hochkomma -> $album+/*.jpg = park/*.jpg.

Zeile 10: 2 x "$album.'/'.$a_dateien[$n].'.jpg' "

<?php
// Name des Albumornders
$album="park";

$a_dateien = glob($album.'/*.jpg'); //Änderung
$i=count( (is_array($a_dateien) ? $a_dateien : NULL) );
echo "Anzahl: $i <br />";
for ($n=1; $n <= $i; $n++)
{
echo "<a href=$album.'/'.$a_dateien[$n].'.jpg'><img src=$album.'/'.$a_dateien[$n].'.jpg' width='200' height='250' border='5'></a>"; //Änderung
}
?>

Ich hoffe jetzt geht alles!

cortex
20.08.2009, 13:46:27
php sucht nur dann in strings nach variablen, wenn der string durch double quotes begrenzt wird - wenn du single quotes verwendest, wird das nichts:

Folgender Code:$a_dateien = glob('$album/*.jpg');

cx