readfile mit Firefox vs. IE

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

  • readfile mit Firefox vs. IE

    Hallo zusammen

    Eigentlich ne ganz kurze Frage: Warum funktioniert untenstehender Code im Firefox, im IE aber nicht?
    PHP-Code:
    if (file_exists('E:/Webshare/Mailbox/pdf.pdf')) {
        
    header('Content-Type: application/pdf');
        
    readfile('E:/Webshare/Mailbox/pdf.pdf');
    } else {
        echo 
    "The file does not exist";

    Der Firefox öffnet die Dateien wunderbar, aber der IE bringt immer die Meldung "Die Internetseite konnte nicht geöffnet werden. Sie ist entweder nicht verfügbar oder konnte nicht gefunden werden."

    Kann mir das einfach nicht erklären...

    Gruss
    Philipp

  • #2
    Re: readfile mit Firefox vs. IE

    so etwas ähnliches wurde doch erst gestern wieder gefragt - http://www.php-resource.de/forum/sho...threadid=52537


    btw: reichlich sinnfreier titel. dass readfile das letzte ist, womit dieses problem zusammenhängen kann, sollte doch eigentlich klar sein.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ob du's nun glaubst oder nicht, aber den benannten Beitrag habe ich auch schon gefunden gehabt...

      Aber da gibt es einen nicht ganz unwesentlichen Unterschied:

      Er kriegt (wenigstens) den HTML-Code zurück. Bei mir sagt der IE, dass gleich gar nichts vorhanden ist.... Aber nichts desto trotz habe ich die Lösungsansätze des anderen Beitrags ausprobiert. Aber ändern tut sich bei mir gar nichts... Fehler bleibt Fehler...


      P.S.: Wenn mein Titel sinnfrei ist, dann mach doch mal nen besseren Vorschlag..!!

      Kommentar


      • #4
        probier mal
        PHP-Code:
        if (file_exists('E:/Webshare/Mailbox/pdf.pdf')) 
        {
            
        header('Content-Type: application/pdf');
            
        $file readfile('E:/Webshare/Mailbox/pdf.pdf');
            
        header("Content-Disposition: attachment; filename=pdf.pdf");
            echo 
        $file;

        gruss
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          danke für den Vorschlag.

          Leider keine Änderung... Firefox geht, IE nicht...

          Kommentar


          • #6
            es gäbe noch
            PHP-Code:
            header("Content-type: application/force-download");
            header("Content-type: application/octetstream"); 
            ansonsten weiss ich auch nicht weiter. ich habe das mal mit cmyk-jpegs gemacht und es hat wunderbar funktioniert auch im IE. mehr code?

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Frust macht sich breit...

              Hart codiert hats vorhin prima funktioniert. Nun wollte ich das ganze vollenden und nun habe ich das gleiche Problem wieder...

              Der Code sieht nun so aus:

              PHP-Code:
              session_start();
              include(
              $_SERVER['DOCUMENT_ROOT'] . "/inc/as400.inc.php");

              $svSQL "call MARKT.MAILBOXGETNR('$user', $nummer)";
              $res odbc_exec($connectionID,$svSQL);
              $aRow odbc_fetch_myarray($res); 

              $filepath "E:/Webshare/Mailbox/".$aRow["FILENAME"];;

              if (
              file_exists($filepath)) {
                  
              header('Content-Type: $aRow["MIMETYPE"]');
                  
              $file readfile($filepath);
                  
              header('Content-Disposition: attachment; filename="$aRow["FILENAME"]"');
                  
              header("Content-type: application/force-download");
                  
              header("Content-type: application/octetstream");
                  echo 
              $file;
              } else {
                  echo 
              "The file does not exist";

              Wie gesagt, mit hart codierten Dateinamen und Pfaden hats vor 30 Minuten noch gefunzt...

              Kommentar


              • #8
                Der Unterschied zwischen ' und " ist dir bewusst ?

                Wenn du Vars in einem String verwendest, dann musst du entweder "" für den String verwenden (und kannst die Vars direkt in den String schreiben) oder du verwendest ' .
                Im zweiten Fall musst du aber den String etwas anpassen:
                PHP-Code:
                header('Content-Type: '.$aRow['MIMETYPE']);
                header('Content-Disposition: attachment; filename='.$aRow['FILENAME']); 
                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                "An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Das mit den Hochkommas hab ich unmittelbar nach dem Posting auch entdeckt... Dummer Fehler *schäm*

                  Allerdings konnte ich jetzt auch das eigentliche Problem lösen

                  Der IE hat offensichtlich mit readfile ein Problem, wenn dies über eine SSL-Verbindung in Zusammenhang mit Sessions gemacht wird.

                  Hier die Lösung, wie's nun funzt:

                  PHP-Code:
                  session_cache_limiter('private');
                  session_start();
                  include(
                  $_SERVER['DOCUMENT_ROOT'] . "/inc/as400.inc.php");

                  $svSQL "call MARKT.MAILBOXGETNR('$user', $nummer)";
                  $res odbc_exec($connectionID,$svSQL);
                  $aRow odbc_fetch_myarray($res); 

                  $filepath "E:/Webshare/Mailbox/".$aRow["FILENAME"];

                  if (
                  file_exists($filepath)) {
                      
                  header('Content-Type: '.$aRow["MIMETYPE"]);    
                      
                  header('Content-Disposition: attachment; filename=' .$aRow["FILENAME"]);
                      
                  header("Cache-Control: private");
                      
                  readfile($filepath);
                  } else {
                      echo 
                  "The file does not exist";

                  Danke für deine Hilfe...!!!!

                  Kommentar

                  Lädt...
                  X