Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Probleme mit Downloadskript (https://www.delphipraxis.net/75583-%5Bphp%5D-probleme-mit-downloadskript.html)

fwsp 21. Aug 2006 22:26


[PHP] Probleme mit Downloadskript
 
Hallo,

ich bastel mir grad ein kleines Downloadskript zusammen, doch leider sind meine Kenntnisse doch sehr beschränkt.
Laut SelfPHP müsste dies klappen, doch irgendwo mache ich wohl einen Fehler.
Es werden zwar Dateien heruntergeladen, doch dabei wird aus der $Datei, welches Pfad und Dateiname beinhaltet ein Dateiname gebildet.
Bsp.:
Datei = download/dn/L-System_Source.zip
Die heruntergeladene Datei heißt dann download-dn-L-System_Source.zip und hat eine Dateigröße von 2 Bytes. Habt ihr vielleicht nen Tipp oder ne Alternative?
Danke.

Code:
header('Content-Type: application/octetstream');
header('Content-Disposition: '.(!strpos($HTTP_USER_AGENT,'MSIE 5.5')?'attachment; ':'').'filename='.$Datei.'');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: post-check=0, pre-check=0');

Flocke 21. Aug 2006 22:38

Re: [PHP] Probleme mit Downloadskript
 
Im Header solltest du für die Übertragung nur einen Basisnamen angeben, also "basename($Datei)" anstatt "$Datei".

fwsp 21. Aug 2006 22:43

Re: [PHP] Probleme mit Downloadskript
 
Was macht denn basename()?

Wenn ich basename() verwende ist der Dateiname korrekt. Allerdings bleibt die Dateigröße unnatürlich klein bei 2 Bytes.

Flocke 21. Aug 2006 22:45

Re: [PHP] Probleme mit Downloadskript
 
"basename" entfernt die Pfadinformationen, liefert dir also einfach "L-System_Source.zip" ohne das Verzeichnis.

Das darfst du natürlich nur an dieser Stelle benutzen (sonst wird die Datei ja nicht mehr gefunden wenn du dann die Daten senden willst):
Code:
header('Content-Disposition: '.(!strpos($HTTP_USER_AGENT,'MSIE 5.5')?'attachment; ':'').'filename='.basename($Datei).'');

fwsp 21. Aug 2006 22:48

Re: [PHP] Probleme mit Downloadskript
 
das habe ich so getan:

Code:
  header('Content-Type: application/octetstream');
 
  header('Content-Disposition: '.(!strpos($HTTP_USER_AGENT,'MSIE 5.5')?'attachment; ':'').'filename='.basename($Datei).'');

  header('Content-Transfer-Encoding: binary');
  header('Cache-Control: post-check=0, pre-check=0');
und richtig, er findet die datei nicht mehr. wie auch, wenn ich den pfad abschneide?

3_of_8 21. Aug 2006 22:50

Re: [PHP] Probleme mit Downloadskript
 
:roll:

Du solltest die Datei schon auch noch mit readfile($Datei); ausgeben. Der HTTP-Header filename setzt nur den Dateinamen, den der Browser der heruntergeladenen Datei gibt.

fwsp 21. Aug 2006 22:58

Re: [PHP] Probleme mit Downloadskript
 
Danke Sehr. Jetzt funktioniert das.

Code:
  header('Content-Type: application/octetstream');
  header('Content-Disposition: '.(!strpos($HTTP_USER_AGENT,'MSIE 5.5')?'attachment; ':'').'filename='.basename($Datei).'');
  readfile($Datei);
  header('Content-Transfer-Encoding: binary');
  header('Cache-Control: post-check=0, pre-check=0');
Aber warum schreiben die das bei SelfPHP nicht rein? :gruebel:

http://www.selfphp.info/praxisbuch/p...e=347&group=68

3_of_8 21. Aug 2006 23:02

Re: [PHP] Probleme mit Downloadskript
 
SelfPHP ist Müll - schmeiß es weg.

Finden tust du was bei: http://www.php4-forum.de/befehlverzeichnis.htm

oder direkt bei http://www.php.net


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz