Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Dateien mit PHP an den Client senden, ...Datei nach dem senden ungültig
Peter Bucher
  Geschrieben am: Di 3.08.2004, 10:33
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 160
Mitglied seit: 3.08.2004


Hallo,
habe mir einige Sachen betreff dieses Thema durchgelesen aber leider machts jeder ein bisschen anders, dass kenn ich so nicht weil ich von A*P her komme.

Könnte mir jemand sagen was an diesem Code falsch sein könnte?

Es geht um die startdownload Prozedur, die Dateien sind nach dem herunterladen ungültig,
am liebsten währe mir wenn mir jemand sagen könnte welche methode den heutzutage gängig ist, kann mich für keine Entscheiden, habs jetzt mal mit flush() gemacht, leider sind die Dateien im Nachhinein ungültig... sonst geht alles flott und korrekt, auch keine Fehlermeldungen.

CODE

<?PHP
 // -----------------------------------------------------------------
 // --- Prozedur startDownload
 // -----------------------------------------------------------------
 // --- Stream-Download starten
 // -----------------------------------------------------------------
 // --- Parametername       Datentyp       Verwendung
 // -----------------------------------------------------------------
 // --- FileName            String         Name der Datei
 // --- filePath            String         Pfad zur Datei
 // -----------------------------------------------------------------
 function startdownload($file_name, $file_location)
 {
     $path = $file_location.$file_name;
     
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     header("Cache-Control: no-store, no-cache, must-revalidate");
     header("Cache-Control: post-check=0, pre-check=0", false);
     header("Pragma: no-cache");
     
     header("Content-type: application/octet-stream");
     header("Content-Disposition: attachment; filename=".$file_name);
     header("Content-transfer-encoding: binary");
     header("Content-length: ".filesize($path));
     @readfile($path);
     flush();
 }
?>


--------------------
Microsoft MVP - Visual Developer ASP / ASP.NET

http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Top
PMEmail PosterUsers Website
Top
 
 
Roger Bobst
calac gmbh
#2 Geschrieben am: Di 3.08.2004, 10:40 (+00:07)
Report PostQuote Post

AyomRank 5
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 426
Mitglied seit: 15.02.2004


Ciao error

probier doh mal folgendes Schnipsel aus der offiziellen Doku:

CODE
<?php

// open the file in a binary mode
$name = ".\public\dev\img\ok.png";
$fp = fopen($name, 'rb');

// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// dump the picture and stop the script
fpassthru($fp);
exit;

?>
Top
PMEmail PosterUsers Website
Top
 
Josh
#3 Geschrieben am: Di 3.08.2004, 11:15 (+00:35)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


sowas such ich auch schon lange. danke, werd mich auch noch etwas umsehen dazu. smile.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Peter Bucher
#4 Geschrieben am: Di 3.08.2004, 12:32 (+01:16)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 160
Mitglied seit: 3.08.2004


Mann bin ich ein Depp tongue.gif

Hab doch glatt bei der filesize(xxx) den Dateinamen angegeben der beim download angenommen wird und nicht der reale mit der ID und einer speziellen Endung dran.

Najo, danke sowieso, meine Lösung sieht jetzt so aus:

CODE

 function startdownload($file_name, $real_file_name, $file_location)
 {
  $path = $file_location.$real_file_name;
 
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  header("Cache-Control: no-store, no-cache, must-revalidate");
  header("Cache-Control: post-check=0, pre-check=0", false);
  header("Pragma: no-cache");
 
  //header("Content-type: application/octet-stream");
  header("Content-Type: application/force-download; name=$file_name");
  header("Content-Disposition: attachment; filename=".$file_name);
  header("Content-transfer-encoding: binary");
  header("Content-length: ".filesize($path));
  @readfile($path);
 }


ps: die Codedarstellung im Forum hier sieht nicht sooo gut aus, könnte man vielleicht noch verbessern.

Grüsse aus Obwalden, CH


--------------------
Microsoft MVP - Visual Developer ASP / ASP.NET

http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Top
PMEmail PosterUsers Website
Top
 
Josh
#5 Geschrieben am: Di 3.08.2004, 14:29 (+01:57)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2143
Mitglied seit: 19.10.2003


danke, dass du deine lösung geposted hast. ich werd sie mir bei bedarf mal anschaun. smile.gif

QUOTE
ps: die Codedarstellung im Forum hier sieht nicht sooo gut aus, könnte man vielleicht noch verbessern.


dies ist bereits geplant, könnte aber noch etwas dauern... für n einzelnen admin ist das fast n fulltime job mit nem neuen forum. aber ich werd ihm bei bedarf mal feuer unterm hintern machen. biggrin.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/2441

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
VPN Client kostenlos? wsammy 326 6 Mo 17.11.2008, 12:00
Große Dateien auf Server anzeigen?! Toblerone 353 6 So 31.08.2008, 18:32
Biete C# Programm zum SMS senden Sancheck 737 11 Do 21.08.2008, 17:10
Upload-Skript klappt nur bei manchen Dateien Coach 255 7 Do 24.07.2008, 21:04
Alle Dateien mit bestimmten Anfang löschen? BartTheDevil89 197 4 Mo 14.07.2008, 14:14
[B] Smileys / Icons > 1200 Dateien calusa 124 0 Do 29.05.2008, 11:36
2 swf-Dateien übereinander Sacha 159 0 Di 8.04.2008, 08:24
Diskussion: client-server call Tuemmel 328 5 Sa 8.03.2008, 16:17
Download von eps Dateien Xavier 609 7 Fr 8.02.2008, 10:36




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]