Ergebnis 1 bis 10 von 10

Thema: PHP Datei-Download: 0 Byte Datei in Mac ?

  1. #1
    Meister(in) Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard PHP Datei-Download: 0 Byte Datei in Mac ?

    Hallo zusammen,

    ich hab da wieder ein Problem, das für mich ein bisschen schwer zu lösen wird, da ich weder einen Mac noch das OS irgendwo laufen hab...

    Ich habe diesen Dateidownload:
    PHP-Code:
    $ext fileextbasename$_GET['file'] ) );
    if( isset( 
    $_GET['download'] ) )
        
    $disposition 'attachment';
    else {
        
    $disposition 'inline';
        
    $_GET['file'] = utf8_decode$_GET['file'] );
    }
    switch( 
    $ext ) {
        case 
    'pdf':
            
    $len filesize($_SERVER['DOCUMENT_ROOT'].$_GET['file']);
            
    header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
           
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
           
    header('Pragma: no-cache');
           
    header("Content-Type: application/pdf");
            
    header("Content-Length: $len");
            
    header("Content-Disposition: ".$disposition."; filename=".basename($_GET['file']));
           
    readfile($_SERVER['DOCUMENT_ROOT'] . $_GET['file']);
            exit;
     
    /* Alle anderen Cases schauen genau gleich aus, nur mit anderem Mimetype, passend zur Fileextension... */

    Das funktioniert super unter Win, im Mac wird (zumindest bei der PDF, und da nur der Mimetype überall anders ist, schätze ich, dass das überall so ist) eine 0-Byte-Datei an den Browser gesendet.

    Zur Information der Zeilen:
    PHP-Code:
    if( isset( $_GET['download'] ) )
        
    $disposition 'attachment';
    else {
        
    $disposition 'inline';
        
    $_GET['file'] = utf8_decode$_GET['file'] );

    Es geht weder wenn isset( $_GET['download'] ) == true noch false ist...

    Lg
    Mathias
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Teron Gerofied (12.11.2011 um 11:34 Uhr)
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  2. #2
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Einen eindeutigen Grund sehe ich dafür nicht. Du könntest auf einem Mac mal mit Firefox den zurückgegebenen Header analysieren. Das geht mit LiveHTTPHeader ziemlich einfach. Mit Safari geht es imho auch irgendwie.

    Und was soll eigentlich das hier? Und vor allem nur in dem einen Fall der Bedingung?

    PHP-Code:
    $_GET['file'] = utf8_decode$_GET['file'] ); 

  3. #3
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    $len mal ausgeben lassen, dass das korrekt belegt ist? Also dein header("content-length") korrekt gesetzt wird? Kann möglicherweise bei falschem Wert Browser-/OS-spezifisch Probleme machen ansonsten.
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  4. #4
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Zitat Zitat von threadi Beitrag anzeigen
    Und was soll eigentlich das hier? Und vor allem nur in dem einen Fall der Bedingung?

    PHP-Code:
    $_GET['file'] = utf8_decode$_GET['file'] ); 
    Das kommt daher weil readfile() aus irgendeinem Grund nicht in der Lage ist, die Datei zu finden, wenn Umlaute drinn sind... Obwohl der Pfad exakt stimmt, aber trotzdem findet ers nicht, wenn Umlaute drinn sind ... Also musst ich auf ISO-8859-1 umstellen und die Funktion einbauen, dann geht es - sonst nicht, keine Ahnung wieso...
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  5. #5
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Dürfte daran liegen, dass Du utf8 für Zeichen in Dateien auf einem nicht-utf8-Laufwerk verwendest. Umlaute sollte man sowieso meiden im Internet.

    Wie sieht es mit dem Rest aus? Hast Du es lösen können?

  6. #6
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Ja... Ein wirklich dummer Fehler ... Tatsächlich lag der Fehler nur bei PPT Dateien im Case der PPT Dateien hab ich readfile() vergessen Megapeinlich ^^'
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  7. #7
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Aber ne andere Frage: Wie stellt man das Dateisystem unter Debian auf UTF-8 um ?
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  8. #8
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Welches Debian? Die Info welcher Zeichensatz aktuell verwendet wird, bekommst Du mit locale raus.

  9. #9
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Gibts da irgendein PHP Snippet um das Rauszufinden ? Hab bei Google unter locale nicht wirklich was gefunden, was mir weiterhilft...
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  10. #10
    König(in)
    Registriert seit
    07.02.2009
    Ort
    Leipzig
    Beiträge
    1.391
    Danke
    2
    Bekam 21 mal "Danke" in 20 Postings

    Standard AW: PHP Datei-Download: 0 Byte Datei in Mac ?

    Dann könntest Du locale auch per system() ausführen und dir die Rückgabe ausgeben lassen.

Ähnliche Themen

  1. Free Homepage mit .exe-Datei download?
    Von Unregistriert im Forum Webhoster - Provider - (free) Webspace - Server - Domain
    Antworten: 4
    Letzter Beitrag: 02.02.2011, 12:22
  2. datei download auf homepage erstellen
    Von 1909 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 19
    Letzter Beitrag: 18.04.2010, 17:08
  3. Download einer PDF-Datei erzwingen
    Von chris90night im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 30.04.2007, 21:35
  4. Datei Download
    Von koki12 im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 15.04.2006, 20:02
  5. Datei zum Download?
    Von Shila im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 15.04.2005, 17:55

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •