Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

Download über Header (Problem - Gelöst)
#1
0
Hallo,

ich hab schon wieder ein Problem, da ich jetzt an der Handbuchsektion Arbeite wo die Downloads aus der Übersicht aufgerufen werden.

Der Link sieht da so aus, der direkt zum Download führt.
index.php?page=books&id=1

Jetzt hab ich folgenden Code, der einen Download erzwingen soll, auch wenn es nur PDF Dateien sind.

Code:
// First, see if the file exists
   $file = $row['dlurl'];

   if (!is_file($file)) { die("404 File not found!"); }

// Gather relevent info about file
   $filesize = filesize($file);
   $filename = basename($file);
   $file_extension = strtolower(substr(strrchr($filename,"."),1));

// This will set the Content-Type to the appropriate setting for the file
   switch( $file_extension ) {
     case "pdf": $ctype="application/pdf"; break;
     case "exe": $ctype="application/octet-stream"; break;
     case "zip": $ctype="application/zip"; break;
     case "rar": $ctype="application/rar"; break;
     case "doc": $ctype="application/msword"; break;

     default: $ctype="application/force-download";
   }

// Begin writing headers
   header("Pragma: public");
   header("Expires: 0");
   header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
   header("Cache-Control: public");
   header("Content-Description: File Transfer");

// Use the switch-generated Content-Type
   header("Content-Type: $ctype");

// Force the download
   header("Content-Disposition: attachment; filename=".$filename);
   header("Content-Transfer-Encoding: binary");
   header("Content-Length: ".$filesize);
   @readfile($file);
   exit;

Es lädt zwar die Datei, auch mit richtiger Dateigröße, nur lässt die Datei sich nicht ausführen.
Hab mal so eine Datei mit dem Editor geöffnet, da hat es nämlich die Datei etwas verstümmelt und bevor der zur Datei passende Code kommt, hat es den gesamten Quelltext davor rein geschrieben.

Kann man irgendwie Verhindern das es den Quelltext in die zu downloadende Datei schreibt.
Wenn ich eine Textdatei mit dem Code downloade, wird nichts weiter reingeschrieben.

Bis jetzt laufen auch noch alle Tests Lokal ab, hab also noch nichts Online getestet.

EDIT: Hat sich erledigt, lag daran das ich in der index.php wo ich die Seite include vorher noch eine Template lade.
Jetzt hab ich die rauß genommen und include die in jeder einselnen tpl Datei.

So gehts. Smile
[Bild: 3344442782.png]
FTP Server Zugangsdaten [Bild: <a href=ftp.php?server=markocat.no-ip.biz:2121]" class="mycode_img" />
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  REGEX Problem Gadler 11 111 Vor 8 Stunden
Letzter Beitrag: Gadler
  [Problem] Kleines QB64 Problem zwecks Maus und Buttons SagaraS 3 534 12.03.2023, 23:17
Letzter Beitrag: SagaraS
  [Frage] Viren & Trojaner über VPN-Tunnel? Commodus 4 2.566 11.05.2020, 18:07
Letzter Beitrag: Commodus
  Dosbox Joystick Problem Drakon99 2 2.263 21.04.2016, 10:25
Letzter Beitrag: Drakon99
  [Frage] Powerpoint Frage/Problem Nemu 8 3.372 05.02.2014, 22:55
Letzter Beitrag: Nemu

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste