Script für Zufallsbild funktioniert nicht
Alex
- php
Hallo,
ich habe aus einem Buch ein Script für ein Zufallsbild
abgetippt. Leider funktioniert das bei mir nicht.
Kann mir vlt. jmd. weiterhelfen.
Ich will die Bilder aus dem Ordner "Klein" (z.Zt. ist
da "test1.jpg" und "test2.jpg" im Ordner) auslesen
und an einer Stelle in HTML mit "<? $bild ?>" einfügen.
Dieses Script habe ich abgetippt:
<?
// PHP- Script für das Zufallsbild
$bilder = array();
//Datei öffnen
$dir = opendir ("Klein");
//Datei lesen ohne die Verzeichnisse darüber
while ($bild = readdir ($dir))
if ($bild != "." && $bild != ".."
$bilder [] = "<img src="/Klein/$bild">";
closedir($dir);
$max = count($bilder)-1;
$zufall = rand(0,$max);
$bild = $bilder[$zufall];
?>
Ich weiß, dass hier schon des öfteren etwas zu Zufalls-
bildern geschrieben wurde; aber die Scripte schienen
mir noch komplizierter als das obere.
Da ich ansonsten auf PHP (abgesehen von einem Counter
und der Include-Funktion) verzichten wollte, wäre
ich dankbar, wenn ich aus dem "Wasser gezogen werde
und mir nicht versucht, jmd. das Schwimmen beizubringen".
Um PHP richtig zu erlernen fehlt mir einfach die Zeit,
aber auf ein Zufallsbild würde ich ungerne verzichten.
Auf Hilfe hoffend, verbleibe ich mit freundlichem Gruß
Alex
hi,
Leider funktioniert das bei mir nicht.
</hilfe/charta.htm#tipps-fuer-fragende>
gruß,
wahsaga
</hilfe/charta.htm#tipps-fuer-fragende>
Ich kenne die Charta. Deshalb hab ich mich auch
schon bei meiner Frage dafür entschuldigt und
erklärt, warum mein Selbstengagement hier
niedrig ist (PHP nur für das Zufallsbild
zu erlernen scheint mir zu kompliziert).
Ich versuche mich i.d.R. immer an die
Charta zu halten, wäre aber dankbar, wenn
ich hier einmalig trotzdem Hilfe bekomme.
hi,
Ich versuche mich i.d.R. immer an die
Charta zu halten, wäre aber dankbar, wenn
ich hier einmalig trotzdem Hilfe bekomme.
Das bezog sich vor allem darauf, dass "geht nicht" zu wenig für eine Problembeschreibung und zum _nachvollziehen_ des Problems ist.
Sofern nicht noch jemand in deinem Code einen wirklich offensichtlichen (Logik-)Fehler findet, kommen wir so also vermutlich nicht weiter.
gruß,
wahsaga
Das bezog sich vor allem darauf, dass "geht nicht" zu wenig für eine Problembeschreibung und zum _nachvollziehen_ des Problems ist.
Achso. Sorry!
Vlt. sagt einem ja diese Meldung etwas:
Parse error: syntax error, unexpected T_VARIABLE in C:\Programme\Apache2\htdocs\pimper\Include\head2.php on line 9
In Line 9 müsste das hier stehen:
$bilder [] = "<img src="/Klein/$bild">";
Die bisherigen PHP-Funktionen include() usw. funktionieren
übrigens.
Das Problem ist mit dem Script von Stahli gelöst.
Danke dafür und an alle die sich über meine Frage
Gedanken gemacht haben.
Hallo Alex,
hier sind zumindest die Syntaxfehler behoben.
<?
// PHP- Script für das Zufallsbild
$bilder = array();
//Ordner öffnen
$dir = opendir ("Klein");
//Datei lesen ohne die Verzeichnisse darüber
while ($bild = readdir ($dir)){
if ($bild != "." && $bild != "..")
array_push($bilder,"<img src=\"Klein/$bild\">");
}
closedir($dir);
$max = count($bilder)-1;
$zufall = rand(0,$max);
$bild = $bilder[$zufall];
?>
Super! Danke Stahli!
Es funktioniert; werd mir jetzt noch anschauen,
was du geändert hast und versuche daraus zu
lernen. Danke für die schnelle und super
Antwort :-)
Der Tag ist gerettet
Hi Alex,
Ich will die Bilder aus dem Ordner "Klein" (z.Zt. ist da "test1.jpg" und "test2.jpg" im Ordner) auslesen und an einer Stelle in HTML mit
"<? $bild ?>"
einfügen.
das würde dir nicht helfen, denn dieser Ausdruck ist zwar syntaktisch zulässig, erzeugt aber keine Ausgabe. Da müsste dann schon z.B. ein echo $bild;
stehen.
Außerdem solltest du dir prophylaktisch angewöhnen, PHP-Blöcke im Quelltext immer mit "<?php" einzuleiten. Die Kurzform, die du verwendest, wird nicht bei jedem Provider unterstützt.
<?
Dito.
if ($bild != "." && $bild != ".."
Hier fehlt die schließende Klammer um den if-Ausdruck. Das dürfte dein Hauptfehler gewesen sein.
Um PHP richtig zu erlernen fehlt mir einfach die Zeit, ...
Schade eigentlich. Du könntest es sicher für vieles andere ebensogut gebrauchen.
Schönes Wochenende noch,
Martin
Hi Martin,
Mit meiner Ursprungsfrage hat mir ja Stahli schon
erfolgreich weitergeholfen. Trotzdem danke, dass
du dir Gedanken gemacht hast.
» Außerdem solltest du dir prophylaktisch angewöhnen, PHP-Blöcke im Quelltext immer mit "<?php" einzuleiten. Die Kurzform, die du verwendest, wird nicht bei jedem Provider unterstützt.
Danke für den Tipp. Momentan kann ich das ja noch problemlos
(weil nicht viele PHP-Anweisungen) nachholen.
Schade eigentlich. Du könntest es sicher für vieles andere ebensogut gebrauchen.
Das merke ich auch von Tag zu Tag; nämlich immer dann, wenn mir
gute Ideen kommen, die ich mit HTML nicht umsetzen kann.
Ich hoffe, dass ich mich irgendwann mal motivieren kann, aber
das ist ja schon nen großer Schritt, wenn man vorher mit
programmieren noch nie was am Hut gehabt hat.
Wünsche dir auch ein schönes Wochenend
MfG
Alex