Daten aus Textdatei

Hallo , Leute

Ich habe eine Textdatei in der folgendes steht:
blablabla.net|http://www.blablabla/logo3.png

Wie kann ich das auslesen und anzeigen lassen

Das das Bild mit Adresse verlinkt wird.

Bitte kein Bannerrotationsscript.

Möchte , dass es statisch bleibt und nicht wechselt.

Danke

Worin liegt denn dabei der Sinn, wenn ich fragen darf?
bzw. Was bezweckst du damit es nicht direkt einzubinden?

@kerbination

Gug malo , das ist der Bannerrotator zufallscode

  <?php 

$file = @file(“banner1.txt”) or die (“Kein Eintrag vorhanden.”);

$count = count($file);

mt_srand((double)microtime()*1000000);
$zufall = mt_rand(0,$count-1);

$line = $file[$zufall];

$array = explode("|", $line);

echo “<a href=”" . $array[0] . “” target="_blank">
<img src="" . $array[1] . “” border=“0”>";

?>

Dieser gibt ja alle Banner aus , die in der Textdatei sind. Nach Zufallsprinzip.

Ich möchte aber , dass immer nur ein Banner angezeigt wird. Egal wieviele einträge vorhanden sind.

Oder kennst du andere Möglichkeiten, Url und Bildurl aus Textdatei zulesen und zusammenzufügen.

Es gibt da andere Möglichkeiten.

Aber warum willst du nur einen Banner ausgeben, also ich mein: Warum stehen mehrere Banenr in der Textdatei, obwohl du nur einen ausgeben willst?

Ich will mir n stundenbannerscript selber erstellen

Und ich weiß nicht , wie ich das anders realisieren soll . Ich will nix mit mysql haben oder so.

und dazu darf nur ein bannner angezeigt werden

Achso… Na dann…

$fp=fopen("deinedatei.txt","r"); $url = fgets($fp,10); fclose($fp);

Die Textdatei.txt. wird zum “r”=lesen geöffnet.
Die ersten 10 Stellen der Datei werden gelesen und (hier als Text) ausgegeben.
Die Datei wird wieder geschlossen.

Das wäre schonmal ein Ansatz…

Ja aber wie krieg ich Bannerurl und Bildurl zusammen?

Und dann als Bild ausgegeben

  <?php 

$file = @file(“banner1.txt”) or die (“Kein Eintrag vorhanden.”);

$count = count($file);

mt_srand((double)microtime()*1000000);
$zufall = mt_rand(0,$count-1);

$line = $file[$zufall];

$array = explode("|", $line);

echo “<a href=”" . $array[0] . “” target="_blank">
<img src="" . $array[1] . “” border=“0”>";

?>

so funktionierts ja aber es werden halt alle ausgegeben ich will das microtime irgendwie 1 stunde ist also dass die anderen banner erst nach 1 stunde geladen werden

also xD eine stunde erste url anzeigen und danach die anderen rotieren lassen

aber wie baut man den code um ??

Du willst dannach die anderen rotieren lassen?

Bei Stundenbanner-Scripten ist das doch so, dass wenn der erste abgelaufen ist der nächste in der Liste nachrutscht und somit wieder eine Stunde on ist, bis der nächste nachrutscht u.s.w…

Oder bin ich jetzt völlig auf dme falschen DAmpfer?

Die sind doch schon “zusammen” - sie stehen doch in jeweils einer Zeile der Datendatei.

Und wer definiert, wo die Stunde anfaengt?

Leute ;D

das alles klappt schon

Ich müsste irgendwie nur die microtime so hinkriegen , dass der nächste banner nicht sofort aufgerufen wird beim seitenreload sondern das der eine durchgehend eine stunde angezeigt wird.

Das war aus deiner bisherigen Beschreibung schwerlich zu erkennen …

Also willst du doch jeweils eine Stunde lang ein und den selben Banner anzeigen lassen, und dann in der naechsten Stunde wieder einen anderen - aber diese jeweils zufaellig ausgewaehlt?

Dann mache dir einfach die Tatsache zu Nutze, dass der Zufallsgenerator immer gleiche Werte liefert, wenn man ihn mit dem gleichen Seed initialisiert.

chrisb

Ich hab folgendes vor . zwar nicht die richtige lösung aber es würde klappen

jemand trägt seinen banner ein . dieser wird in txt gespeichert und eine stunde lang ausgegeben. nach einer stunde reloadet die banner_anzeigen.php zu der txt_löschen.php die txt löscht. die txt_löschen reloadet dann nach ca 1 sec zur banner_eintragen.php.

Darum soll egal wie viele sich da eintragen nur ein banner rotieren und keine anderen.

Und wie willst du bewerkstelligen, dass die eintragen.php zur loeschen.php reloaded, wenn gar kein Aufruf erfolgte? Eine PHP-Datei reagiert immer nur wenn sie vom Browser aufgerufen wird, nicht automatisch.

krieg ich schon hin

Ich muss nur wissen wie ich aus der txtdatei wo url und bild url sind

einen verlinkten banner ausgeben kann

das ist alles.

Daran habe ich irgendwie Zweifel …

Und wie “reloadet” sich diese banner_anzeigen.php? Das kann sie nicht selber, dazu braucht sie einen Client (unter der hier geltenden Annahme, dass sowas wie Cronjobs hier auf bplaced nicht zur Verfuegung stehen).
Also brauchst du irgendeinen Client, der die banner_anzeigen.php anfordert - nehmen wir mal an, meinen Browser. Wie willst du da jetzt feststellen, wann eine Stunde rum ist? Dazu muesstest du dir erst mal einen Startzeitpunkt irgendwo abspeichern.
Und den Aufruf der txt_löschen.php musst du dann auch dahingehend absichern, dass sie nicht vor verstreichen des Zeitraums von einer Stunde die Textdatei loescht - sonst koennte ich die txt_löschen.php naemlich, wenn mir ihr Name einmal bekannt ist, auch mutwillig zu anderen Zeitpunkten meiner Wahl direkt aufrufen.

Und wer nimmt dann einen neuen Eintrag vor? Wie stellst du sicher, dass gerade zu dem Zeitpunkt irgendwo jemand, der dazu berechtigt ist, auch vor seinem Rechner sitzt, und wie, dass er diesen Zeitpunkt auch mitbekommt?

“Nur ein Banner” braeuchte nicht “rotieren”.

Sorry, aber dein ganzes Vorhaben klingt, zumindest so wie du es jetzt hier beschreibst, reichlich unausgegoren.

Ein gutes Script baut auf einem guten Konzept und Ablaufplan auf. Also wuerde ich vorschlagen, dass du das erst noch mal etwas gruendlicher durchdenkst - noch bevor du weiteren Scriptcode schreibst.

Was spricht überhaupt gegen die verwendung einer Datenbank? Das wäre um einiges ordentlicher als das ganze in einer File abwickeln zu wollen…

Und wie? Lass hoeren, wir sind gespannt :slight_smile:

[quote]Ich muss nur wissen wie ich aus der txtdatei wo url und bild url sind

einen verlinkten banner ausgeben kann

das ist alles.[/quote]
Das kannst du mit dem bisherigen Code bereits machen.
Du bekommst durch file() ein Array, dass als Elemente jeweils den Inhalt einer Zeile der Textdatei enthaelt. Ueber einen nummerischen Index kannst du davon nach Belieben eines auswaehlen.

mann…immer diese Disskusionen

wenn nur eine Zeile drinnensteht

für mehrere Zeilen geht das:

$input = file("datei.txt");

$input = $input[0]; //Hier die richtige Zeile raussuchen ;)

list($url, $img) = explode('|', $input);

Nachtrag:

Du könntest deine Textdatei auch etwa so ausschauen lassen:

und die Bedingung dann einfach überprüfen :wink:

$input = file("datei.txt");

foreach($input as $v)
{
   list($bed, $url, $img) = explode('|', $input);
   
   //Bed irgendwie umformen
   if(strpos($check, $bed)) //Bedingung irgendwie überprüfen
      break;
}

//$url und $img hier verwenden, wenn keine Bedingung zutrifft, bleibt die letzte übrig ;)