html-Files zufällig aus bestimmten Ordner laden
medikus
- php
0 Frank Opper0 Daniel
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
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
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
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>
?>
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*
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