![]() |
[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'); |
Re: [PHP] Probleme mit Downloadskript
Im Header solltest du für die Übertragung nur einen Basisnamen angeben, also "basename($Datei)" anstatt "$Datei".
|
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. |
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).'');
|
Re: [PHP] Probleme mit Downloadskript
das habe ich so getan:
Code:
und richtig, er findet die datei nicht mehr. wie auch, wenn ich den pfad abschneide?
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'); |
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. |
Re: [PHP] Probleme mit Downloadskript
Danke Sehr. Jetzt funktioniert das.
Code:
Aber warum schreiben die das bei SelfPHP nicht rein? :gruebel:
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'); ![]() |
Re: [PHP] Probleme mit Downloadskript
SelfPHP ist Müll - schmeiß es weg.
Finden tust du was bei: ![]() oder direkt bei ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz