Ordner Auslesen und Datein in Array schreiben.

Crazy_down

Erfahrenes Mitglied
Hallo, ich habe folgende Frage.
Ich lasse mir mit folgenden Zeilen einen Ordner auslesen und z.Zt. alle Dateien als Link anzeigen.
PHP:
 $ordner = opendir("plaene");
while($datei = readdir($ordner))
{
    if($datei !== "*" &&
    $datei !== "." &&
    $datei !== "..")
    {
         echo '<br><br><a href="plaene/'.$datei.'">'.$datei.'</a>';
    }

}

Jetzt möchte ich aber statt den Link ausgeben die Dateinamen in ein Array schreiben und dann Automatisch aller 10 sek. eine Datei anzeigen also mit diesem Meta Content...
Er soll also Datei 1 Anzeigen ( in einem IFrame o.Ä.) dann einen Arrayzähler um 1 erhöhen und die nächste Datei die in dem Array drinne steht anzeigen.

Wie könnte ich soetwas Realisieren ?

Danke schonmal
greetz
crazy_down
 
Ins Array... supereinfach:

PHP:
 $ordner = opendir("plaene");
while($datei = readdir($ordner))
{
    if($datei !== "*" &&
    $datei !== "." &&
    $datei !== "..")
    {
         $array[] = $datei;
    }

}

Wie geht es weiter? Ok du gibst per echo und implode das ganze als Javascript array aus. Und eine Javascriptfunktion wechselt die Bilder alle 10 sekunden durch.

Die Javascript funktion um alle x sec etwas zu tun heißt "window.set_intervall()"
 
Ahh ok so einfach geht das ^^
Nur habe ich noch eine If-Bedingung drinne
PHP:
if(strstr($datei,"11") || strstr($datei,"12") || strstr($datei,"13"))
             {
                     echo '<br><br><a href="../plaene/'.$datei.'">'.$datei.'</a>';
                      }

Er findet da 3 Dateien die sind so aufgebaut
Name_11.html
Name_12.html
Name_13.html

So jetzt steht in $array[0]
Name_11.htmlName_11.htmlName_11.html
usw. weil er es 3 Dateien gefunen hat. aber der 12 nur noch 2 und 13 nur 1.

es soll aber nur einmal 11 einmal 12 und einmal 13 darin stehen.
und dann soll das Array in Zeitabständen in einem IFrame array[0] dann array[1] dann array[2] laden und dann wieder zu arary[0].
 
So, ich habe die IF-Bedingung auseinander genommen und bekomme in das Array die richtigen Lösungen.
Aber wie mach ich jetzt das Weiterleiten ?
Es sind zwar HTML seiten aber sollen ja auch nur angeziegt werden aber ohne das mein PHP Script aufhört. Könnte ich das über ein Include regeln ?
Also Include(mein array)
dann 10 sek. warten ann array eins hoch setzen und laden ?
 
*vorkau* :>

Wie bereitsgeschrieben die wechsel zur Laufzeit mit Javascript und setInterval hier eine lösung. Das müsste dir abernun eignetlich auf jeden Fall genügen...

PHP:
<?
$ordner = opendir("plaene");
while($datei = readdir($ordner)){
    if(strstr($datei,"11") || strstr($datei,"12") || strstr($datei,"13")){
        $array[] = $datei;
    }

}
/* TEST $array = array('http://www.web.de', 'http://www.gmx.de', 'http://www.msn.de'); */

$js_array = "var seiten = new Array('".implode("','", $array)."');\n";

?>

<html>
<script>
<? echo $js_array; ?>
var seiten_index    = 0;
var max_seite       = <? echo count($array); ?>;

function next_page(){
    document.getElementById('iframe').src = seiten[seiten_index % max_seite];
    seiten_index++;
}

var wechsel = window.setInterval('next_page()', 10000);
</script>
<body>
<iframe id="iframe" src="">test</iframe>

</body>
</html>
 
Hey, also ob ich das so schnell hätte Umsetzen können weiß ich nicht, aber es ist auf jeden Fall das was ich gesucht habe. Ein paar Dinge muss ich jetzt noch einbauen da es mit der Abfrage nicht mehr ganz hin haut.
Aber auf jeden Fall
Vielen Dank für die Mühe.
 
Zurück