kostenloser Webspace werbefrei: lima-city


Befehls Blackout mal anders

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    annekisses

    annekisses hat kostenlosen Webspace.

    Also nun alle einmal lachen ^^
    Nein Spaß also, ich programmiere gerade für einen tag/kunde">Kunden eine Gedichteseite nun möchte er das aus einer txt datei Sprüche gelesen werden die er eingibt !

    Nun weiß ich das ich logischerweiße include um es auf die Seite zu kriegen :

    include ("spruchbank.txt");


    Uns die TXT heißt dann auch spruchbank.txt !
    Ich habe erst gedacht das ich machen kann :

    <?php
      $datei = fopen(spruchbank.txt, r);
    ?>


    Doch dann habe ich bevor ich was gemacht habe gemerkt das er dann ja nicht zufällig eine Zeile
    aus der Datei liest sondern alles ! Daraufhin kam ich auf die Idee Googlen wir mal und habe dort einen Befehl besser beschrieben bekommen als ich ihn kenne :

    $gZeile = fgets($fp,4);//$fp = fopen() 
    
    //Lesen aller Zeilen einer Textdatei 
    $fp = fopen("deine.txt","r"); // öffnen 
    if ($fp) 
    { 
        while(!feof($fp))//Solange Ende erreicht ist 
        { 
           $zeile = fgets($fp,2);//Einlesem der Zeilen 
           echo"Gedicht des Tages:$zeile <p>";//Ausgabe 
        } 
    fclose($fp); // Datei schließen 
    } 
    else 
    { 
    echo "Datei wurde nicht gefunden"; //Datei nicht vorhanden (wartung) 
    }


    Nun hier habe ich aber ja kein Zufall sondern eine forgeschrieben ausgabe durch :
    $zeile = fgets($fp,2);


    Also seht ihr gesucht habe ich und versucht habe ich auch doch schlauer bin ich nur ein bisschen ich brauch eingendlich nur nen Tipp wie ich zufällige Ausgabe hinkriege !
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich an deiner Stelle würde SQL anstelle einer Datei verwenden.

    Desweiteren wäre es vielleicht hilfreich zu erfahren, was er dir denn ausgibt und vor allem, was er ausgeben soll.

    Soll er mehrere Sprüche aus einer Datei laden und dann zufällig einen Auswählen, welchen er dann wiedergibt?


    Beitrag geändert: 15.8.2008 10:20:37 von nerdinator
  4. Autor dieses Themas

    annekisses

    annekisses hat kostenlosen Webspace.

    Ich musste in eine TXT datei seine 400 Gedichte Sprüche Zeilenweise einfügen in die TXT nun möchte er das genau diese ausgegeben werden und zwar 1 Spruch am Tag.

    Also um es genau zu sagen ich habe z.b. die beiden Sprüche :

    1: Mein Weg ist ein Stein doch dieser Stein bewegt sich nicht
    2: Dieser eine Sonnenschein so lasse mich doch glücklich sein

    Jetzt möchte er das Zeile 1 zum Beispiel heute ausgegeben wir und Zeile zwei am nächsten Tag.
    Die normale Zufallsausgabe wäre ja eher weniger das Problem doch das ein Satz am Tag angezeigt wird und das in einer TXT Datei mit 400 Sätzen da passe ich aber sowas von ^^ ! Daher die Frage !
    Ja habe ich ihm auch empfholen doch er verlangt TXT Datei damit er diese auch ändern kann wenn er möchte ! -.- SInd die Leute die kein Bock haben 5 € mehr zu zahlen für eine SQL VErbindung
  5. Ich denke das du grundkenntnisse hast deswegen gebe ich dir nur mal ein gedanken anstoß :thumb:

    Les alle Zeilen aus und packe Sie in ein Array,
    benutze sizeof() um die größe herauszufinden,
    benutze rand(0,anzahlelemente) um eine Zufallszahl zu bestimmen,
    gebe es aus $gedicht[zufallszahl]

    So sollte es gehn! Allerdings stelle ich mir eine frage, sollte ein Gedicht nicht mehr als aus einer Zeile bestehen :P

    Ferner kann ich nerdinator nur zustimmen benutze doch lieber eine Datenbank, das ist besser für die struktur als eine Textdatei und du kannst sachen einfacher löschen. (Wenn du Kunden hast solltest du das aber eigentlich wissen ;) )

    Ansonsten viel erfolg und Spaß
    gruß Chris


    EDIT:

    Okay leider warst du eine Minute früher da,
    meine Idee nach deiner ausführlichen Schilderung ;-)

    1)Erstelle eine 2te TXT datei
    2)Schreibe dort rein Spruch,datum
    3)mit explode() auslesen
    4)Wenn datum=gestern dann spruch++ und wenn spruch>400 = 1

    das wäre nun meine Idee viel erfolg nochma
    gruß Chris

    Beitrag geändert: 15.8.2008 10:36:49 von ghostrider
  6. Autor dieses Themas

    annekisses

    annekisses hat kostenlosen Webspace.

    thx ich versuche jetzt mal mein bestes ^^
    Mhhh ja eigentlich würde mein Lebenspartner dieses Programmieren
    aber daher zurzeit seine anderen Sachen etwas hängen habe ich gesagt kann ich machen
    und hab sowas noch nie geproggt ^^
    Mache sonst nur Design und Grafik ^^

    Keine Ahnung was das für Dinger sind kenne auch nur mehrzeiler aber gut die müssen es ja wissen !
  7. Naja, also ich glaub, du musst gar nicht das Datum speichern, Du musst nur wissen, an welchem Tag der erste Spruch ausgegeben werden soll.

    Sprich:
    Du packst die Sprüche in ein Array, von dem Du die Größe ausliest.
    Dann berechnest Du via Deinem hardcodierten Timestamp (also den Du in den PHP-Code schreibst) wieviele Tage nun seit dem Zeitpunkt um sind (es empfiehlt sich ein "Mitternachts-Timestamp" ).
    Mit
    $tage % $anzahl_der_sprueche

    erhälst du dann, welches Element Du aus der Array verwenden musst, weil dir der %-Operator (Diviso-Operator) ja den Rest der Division der beiden liefert ;)

    Hoffe ich konnte Dir weiterhelfen ;)

    Gruß

    Interrogans


    Beitrag geändert: 16.8.2008 0:54:31 von interrogans
  8. Wie man zufällig eine Zeile auswählt wurde ja schon beschrieben, die würde ich nun in eine neue .txt schreiben.
    und dann einfach dafür sorgen das das script schlicht nur einmal am Tag ausgeführt wird.

    eventuell noch einbauen das wenn zufällig gewählte zeile gleich alte .txt dann zufallsgenerator nochmal durchlaufen.
    Damit ist dann wenigstens unterbunden das zufällig das selbe vom Vortag nochmal kommt.


  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!