medikus: html-Files zufällig aus bestimmten Ordner laden

Hallo ihr,
als blutiger PHP-Anfänger bin ich immer auf der Suche nach Codeschnipsel die mir irgendwie weiterhelfen können.
Hab nun auch schon einiges auftreiben können (dank diesem Forum und anderen), aber ich komm auf keinen grünen Zweig.

Die Idee:
Ich möchte aus einem Ordner den Inhalt eines zufällig gewählten html-Files auslesen können. Zusätzlich soll das rauslesen auf einen Bereich im html-File (mit Tags markiert) begrenzt sein.

Das Problem:
Das zufällige rauslesen eines html-files aus einem Ordner.

Hier mal der derzeitige Code:

<?
$d=opendir("./ordner/"));
while ($file=readdir($d)) if (($file!=".") && ($file!="..")) $files[]=$file;
closedir($d);
$foo=$files[rand(0,count($files)-1];5:
echo $foo;
?>

Dieser Codeschnipsel funktioniert nicht - echo foo gibt mir nicht zurück.

-----------------

Der nachfolgende Teil ist aus euerem Forum - das funktioniert auch!
Nur wie bekomm ich die beiden Teile zusammen?

<?
$fp=fopen("./home.php","r");
$inhalt=fread($fp,5000); // Zahl zu lesender zeichen, falls Datei kleiner wird bis Dateinende gelesen

$start=strpos($inhalt,"<meintag>");
$ende=strpos($inhalt,"</meintag>");

$interresant=substr($inhalt,$start,$ende-$start);

echo $interresant; // $interresant enhält noch die <tt> tags
?>

Vielen Dank im Voraus
medikus

  1. Hallo,

    Hier mal der derzeitige Code:

    <?
    $d=opendir("./ordner/"));

    ^ Schließende Klammer ist zuviel.

    while ($file=readdir($d)) if (($file!=".") && ($file!="..")) $files[]=$file;
    closedir($d);
    $foo=$files[rand(0,count($files)-1];5:

    Hier stimmt die Reihenfolge der eckigen und runden Klammer nicht.

    echo $foo;
    ?>

    Dieser Codeschnipsel funktioniert nicht - echo foo gibt mir nicht zurück.

    Viele Grüße
    Frank

  2. Ahoi medikus,

    schmeiß das opendir() raus *g*
    http://de3.php.net/manual/de/function.scandir.php
    http://de3.php.net/manual/de/function.rand.php

    Also:

      
    $meinOrdner='./meinOrdner';  
    $meineDateien=scandir($meinOrdner);  
    $zufaelligerIndex=rand(2,count($meineDateien));  
    $einZufälligerDateiname=$meineDateien[$zufaelligerIndex];  
    $fp=fopen($meinOrdner.'/'.$einZufälligerDateiname ,"r");  
    
    

    ...

    So ungefähr.

    MfG

    1. Also:

      $meinOrdner='./meinOrdner';
      $meineDateien=scandir($meinOrdner);
      $zufaelligerIndex=rand(2,count($meineDateien));
      $einZufälligerDateiname=$meineDateien[$zufaelligerIndex];
      $fp=fopen($meinOrdner.'/'.$einZufälligerDateiname ,"r");

      
      > ...  
        
      Erstmals danke für die Hilfe! Aber irgendwas läuft schief :-(  
      Ich hab den Code 1:1 übernommen und vorbeugend Umlaute entfernt...  
        
      <?php  
      $meinOrdner='./tmp';  
      $meineDateien=scandir($meinOrdner);  
      $zufaelligerIndex=rand(2,count($meineDateien));  
      $zufaelligerDateiname=$meineDateien[$zufaelligerIndex];  
      $fp=fopen($meinOrdner.'/'.$zufaelligerDateiname ,"r");  
        
      print\_r($meineDateien);  
      echo $meinOrdner;<br>  
      echo $meineDateien;<br>  
      echo $zufaelligerIndex;<br>  
      echo $zufaelligerDateiname;<br><br><br>  
        
      ?>
      
      1. print_r($meineDateien);
        echo $meinOrdner;<br>
        echo $meineDateien;<br>
        echo $zufaelligerIndex;<br>
        echo $zufaelligerDateiname;<br><br><br>

        ?>

        Hm .. es liegt wohl an dem html-zeugs was ich da dazugeschwindelt hab.. Jetzt läufts! Vielen vielen Dank *freu*

      2. Ahoi medikus,

        Erstmals danke für die Hilfe!

        keine Ursache.

        Aber irgendwas läuft schief :-(

        und was läuft schief? Fehlermeldung, etc. wäre hilfreich. Meine Kristallkugel ist ATM nämlich in reperatur

        Ich hab den Code 1:1 übernommen und vorbeugend Umlaute entfernt...

        gut das du die Umlaute entfernt hast, aber der code war nur angedacht.

        <?php

        ...

        ?>

        und was geben die echo's nun aus?

        MfG