Ankündigung

Einklappen
Keine Ankündigung bisher.

file_exist und Cache

Einklappen

Neue Werbung 2019

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

  • file_exist und Cache

    Hallo,

    bin fast am verzweifeln. Eigentlich eine ganz einfache if-else Schleife. Aber sie liefert immer ein falsche Ergebnis.
    Ich möchte abfragen, ob eine MP3 Datei auf meinem Server (Remote) vorhanden ist.
    .... Baba 2.mp3 gibt's NICHT
    ... Music.mp3 ist vorhanden

    Ich bekomme immer das Ergebnis, dass die Datei nicht vorhanden ist. Obwohl ...Back to Music.mp3 auf jeden Fall da ist.
    Habe etwas gegoogelt und es scheint ein Cache Problem zu sein. Empfehlung war immer "clearstatcache();".
    Aber läuft leider nicht. Hat jemand eine Idee ? Vielen Dank schonmal

    PHP-Code:
    //$mp3 = "http://www.re-jazz.net/heimbub/audio/Bilderbuch/Magic Life/04 Bilderbuch - Baba 2.mp3";
    $mp3 "http://www.re-jazz.net/heimbub/audio/Daft Punk/Random Access Memories/01 Give Life Back to Music.mp3";

    if (
    file_exists($mp3))
    {
    echo 
    "MP3 ist da" "<br>";
    clearstatcache();
    }
    else
    {
    echo 
    "Die Datei existiert nicht";
    clearstatcache();


  • #2
    es scheint ein Cache Problem zu sein
    Das glaube ich weniger.

    Probier doch mal file_get_contents, ob das funktioniert. Ansonsten versuch doch mal eine URL ohne Leerzeichen.

    Kommentar


    • #3
      Hi, danke für Deine schnelle Antwort. Ich habe schon mehrere Abfragen versucht. Auch file_get_contents. Alles ohne Erfolg.

      Die Datei liegt mit den Leerzeichen auf dem Server und kann z.B. mit Leerzeichen im Audio-Tag genutzt werden. Habe aber auch urlencode schon versucht um die Leerzeichen zu ersetzen.
      Ging auch nicht ;-(

      Kommentar


      • #4
        Nein Ich meinte, das Ganze mit einer Datei ohne Leerzeichen im Namen zu versuchen

        Kommentar


        • #5
          Das versuche ich gleich einmal

          Kommentar


          • #6
            Ich habe gerade gesehen, dass file_exists gar kein http kann. Aber hier sind ein paar Workarounds aufgeführt: http://php.net/manual/de/function.file-exists.php Such mit der Browser-Funktion mal nach "http".

            Kommentar


            • #7
              Habs gefunden. file_exist durch file ersetzt und schon läuft. Vielen Dank für den Tipp. Auf der Seite war ich schon zig mal. Aber habe nie die Kommentare gelesen.

              Kommentar


              • #8
                Musst halt nur dran denken, dass da die ganze Datei runtergeladen wird.

                Kommentar


                • #9
                  PHP-Code:
                  $mp3 "http://www.re-jazz.net/heimbub/audio/Daft Punk/Random Access Memories/01 Give Life Back to Music.mp3";
                  var_dump(file_exists($mp3));
                  var_dump(get_headers($mp3));

                  bool(false)
                  array(
                  9) {
                    [
                  0]=>
                    
                  string(15"HTTP/1.1 200 OK"
                    
                  [1]=>
                    
                  string(35"Date: Sun, 03 Dec 2017 14:22:25 GMT"
                    
                  [2]=>
                    
                  string(24"Content-Type: audio/mpeg"
                    
                  [3]=>
                    
                  string(24"Content-Length: 11085048"
                    
                  [4]=>
                    
                  string(17"Connection: close"
                    
                  [5]=>
                    
                  string(14"Server: Apache"
                    
                  [6]=>
                    
                  string(44"Last-Modified: Wed, 26 Oct 2016 08:12:16 GMT"
                    
                  [7]=>
                    
                  string(28"ETag: "a924f8-53fc02ee3cb50""
                    
                  [8]=>
                    
                  string(20"Accept-Ranges: bytes"

                  Kommentar


                  • #10
                    Zu beachten ist, das selbst bei nicht existierender Datei gültige HTTP Header ausgeliefert werden (404 not found).
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Ja, get_headers() und den HTTP Response Code mit auswerten. Hatten wir hier im Forum erst kürzlich.

                      Kommentar

                      Lädt...
                      X