fopen problem, seite zeigt alte daten statt sich die neuen zu holen...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fopen problem, seite zeigt alte daten statt sich die neuen zu holen...

    habe folgenden code geschrieben (hier stark verkürzt):

    PHP-Code:

    <?
    $page=@fopen("http://www.blabla.de","rb");

    while(!feof($page)) {
     $content .= @fread($page,4096);
    }
    fclose($page);

    if($aktiv > 0) {
    //1
    preg_match_all('//isU', $content, $a);
    $p = @preg_replace('//ims', '', $a[0][0]);

    } else { echo 'Fehler'; }

    if($i == 1 && $aktiv > 0) {
    echo $p;
    }

    else{
    echo ''.$i.''.$p.'';
    }
    ?>
    das auslesen der anderen seite funktioniert soweit auch wunderbar, nur mein problem ist wenn sich der inhalt auf der seite wo die php ausließt sich geändert hat zeigt meine php das einfach nicht an sondern immernoch die daten von davor.. irgendwie kommt es mir so vor als fragt er die seit enich tnochmal ab sondern nimmt sich die alte abfrage aussem cache oder so in der art..
    wenn ich mein rechner neu startete sind auch die neuen daten da.. nur das kann ja nicht die lösung sein.
    gibts vllt irgnedwas was ich noch einbauen sollte damit er die seite auch jedesmal neu abfragt und nicht irgendwelche alten daten verwendet ?
    Oder eine andere lösung ?

    mfg
    DD
    ps.: jeder hat mal klein angefangen

  • #2
    also wenn ich temporäre internetdateien lösche zeigt er dann die richtigen (neuen) daten an..
    Zuletzt geändert von D-Style; 23.11.2005, 00:27.
    ps.: jeder hat mal klein angefangen

    Kommentar


    • #3
      Das ist dein Browsercache!

      Dein Script muß deinem Browser mittels header() sagen, dass die erzeugte Seite nicht gecacht werden soll. Mehr nicht.

      Kommentar


      • #4
        mh hab leider keine erfahrung mit dem header()

        habe jetzt

        PHP-Code:
        header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum der Vergangenheit
        header ("Last-Modified: " gmdate ("D, d M Y H:i:s") . " GMT"); // immer geändert
        header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
        header ("Pragma: no-cache"); 
        eingefügt..
        zeigt leider aber auch keine wirkung ;(
        ps.: jeder hat mal klein angefangen

        Kommentar


        • #5
          mh hab jetz vor das ganze

          <meta http-equiv="cache-control" content="no-cache">
          <meta http-equiv="cache-control" content="no-store">
          <meta http-equiv="cache-control" content="max-age=0">
          <meta http-equiv="cache-control" content="must-revalidate">
          <meta http-equiv="expires" content="0">
          <meta http-equiv="pragma" content="no-cache">


          gesetzt, scheint bisher zu funktionieren
          ps.: jeder hat mal klein angefangen

          Kommentar


          • #6
            - alle @ aus deinem Code entfernen und error_reporting einstellen
            - erneut prüfen
            - Browsercache leeren
            - erneut prüfen
            - clearstatcache einbauen
            - erneut prüfen

            - jetzigen Code inkl. der Header-Geschichten posten und beschreiben, wie/wo/wann welcher Fehler auftritt.
            EDIT:
            okay, dann hat es sicherledigt

            Kommentar


            • #7
              Hallo.

              Ich habe leider das gleiche Problem.
              Ich habe beide Vorschläge bereits umgesetzt aber da passiert nix.

              Ich programmiere gerade ein Script um einfache Bilder erzeugen zu können.
              Dies funktioniert auch sehr gut. Leider wird mir das neu erzeugte Bild erst angezeigt wenn ich den Browsercache leere.

              Das alte Bild wird vorher gelöscht, bevor das neue erstellt wird.
              Ich dachte das der Browser erkennt das das Bild neu erstellt wurde und es dann neu lädt. Leider geht das auch nicht.

              Was kann ich da noch machen?
              Wir haben alle mal angefangen!

              Kommentar


              • #8
                Die Bilderadresse eindeutig machen, beispielsweise durch anhängen eines zufälligen Parameters an die Adresse:
                PHP-Code:
                echo "deineUrl.jpg?".rand(); 

                Kommentar


                • #9
                  Danke für die Hilfe.

                  Hab diesen Hinweis bereits umgesetzt.
                  Wir haben alle mal angefangen!

                  Kommentar


                  • #10
                    Original geschrieben von PHP-Desaster
                    Die Bilderadresse eindeutig machen, beispielsweise durch anhängen eines zufälligen Parameters an die Adresse:
                    PHP-Code:
                    echo "deineUrl.jpg?".rand(); 
                    Wenn es der zufall will, hast du da aba 2 mal das selbe rand(). Besser wäre dann
                    PHP-Code:
                    echo "deineUrl.jpg?see=".time(); 
                    Signatur-Text ...

                    Kommentar


                    • #11
                      Original geschrieben von dani_o
                      Wenn es der zufall will, hast du da aba 2 mal das selbe rand(). Besser wäre dann
                      PHP-Code:
                      echo "deineUrl.jpg?see=".time(); 
                      Oder gleich richtig:
                      PHP-Code:
                      echo 'deineUrl.jpg?see=' md5(uniqid()); 
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        hehe
                        Signatur-Text ...

                        Kommentar


                        • #13
                          Ich hab die time() verwendet.
                          Reicht ja aus.

                          Im Prinzip ist dies in diesem Fall auch egal, weil ja alles funktioniert.

                          Aber blöd ist das schon, da dies ja keine wirkliche Funktion hat, sondern nur dem Browser vorgaukelt das sich was ändert.

                          Man hat es schon nicht leicht.
                          Wir haben alle mal angefangen!

                          Kommentar


                          • #14
                            Wenn es der zufall will, hast du da aba 2 mal das selbe rand().
                            Es ging mir ums Prinzip

                            Kommentar

                            Lädt...
                            X