ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
736
736
EMPFEHLEN
-
Hallo Leutz,
so versuche ich einen Download zu forcen:
Das klappt auch fast. Die heruntergeladene Datei heißt so wie die Datei die ich laden wollte. Aber der Inhalt der Datei ist der der index.php Wie kann das denn sein?PHP-Code:if($_GET['dowlfile']){
$fp = $_GET['dowlfile'];
$file = basename($fp);
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"".$file."\"");
header("Content-Length: ".filesize($fp));
readfile($fp);
}
Aufgerufen wird das Script duch:
"http://53.43.134.33/listing/index.php?dowlfile=C:/Program Files/xampp/htdocs/OI-Sicherung.zip&dir=C:/Program Files/xampp/htdocs"
-
Ich weiss es wirklich nicht. Einfach so ein paar Debug sachen.
Gib mal for readfile() $fp aus und schau was drinsteht. Einfach schauen ob es nicht irgendwo anderst überschrieben/editiert wird.
Liefrt filesize($fp) ein Resultat zurück. Also findet es das File? Versuche sonst mal mit file_exists() abzufragen ob das File existiert.
Und sonst versuch mal im Pfad anstat '/', '\' zu verwenden. Finde es aber strange, dass es nicht funktioniert. Habe gerade letztens auch einen Filedownload gemacht auf einem Windowsrechner. Hat mit Slashes wunderbar funktioniert....
Gruss
X
Edit:
Habe was auf http://ch2.php.net/readfile gefunden:
PHP-Code:Instead of using
<?php
header('Content-Type: application/force-download');
?>
use
<?php
header('Content-Type: application/octet-stream');
?>
Some browsers have troubles with force-download.Geändert von redX (13.10.06 um 10:11 Uhr)
Es gibt ein leben vor dem Tod
-
Du solltest noch prüfen, ob die angeforderte Datei überhaupt existiert und sie zu der Menge der erlaubten Dateien gehört. Denn sonst kann ja jede beliebige Datei heruntergeladen werden.
Markus Wulftange
-
Es ja so: Der Aufruf, den ich vorhin gepostet habe, stammt von einem Directorie-Indexing. Dort wird jede Datei als Link wie oben ausgegeben. Daher existiert diese Datei also auf jeden Fall!
-
Dammit

Dann versuch mal den anderen Header zu senden...
Gruss
XEs gibt ein leben vor dem Tod
-
Was meiste? Als anderer Dateityp`?
-
Es gibt ein leben vor dem Tod
-
Sorry, dass hatte ich auch schon probiert. Ich habe aber den Fehler gefunden. *iefehler*
Und zwar habe ich den obigen Code nicht in eine getfile.php gepackt und dann per "<a href=getfile.php?file=alex.txt"> aufgrufen auman!
Jetzt gehts!
Inhalt der getfile.php:
PHP-Code:if($_GET[fp]){
$fp = $_GET[fp];
$file = basename($fp);
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"".$file."\"");
header("Content-Length: ".filesize($fp));
readfile($fp);
}
-
Wenn aber den Inhalt der „index.php“ ausgegeben wird, läuft irgendetwas falsch.
Zitat von ahykes
Ich meinte auch, dass du den Wert, der schlussendlich der readfile()-Funktion übergeben wird, prüfen solltest.Markus Wulftange
Ähnliche Themen
-
preg-match gibt immer "0" zurück, auch wenn es "1" sein müsste
Von alexbot im Forum PHPAntworten: 7Letzter Beitrag: 09.04.10, 20:57 -
image.getHeight(null) gibt immer -1 zurück?
Von Layna im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 20.06.07, 12:56 -
Performance SELECT mit FORCE INDEX
Von muehl im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 20.04.07, 09:35 -
Index eines Ordners immer aktuell auflisten und zum download anbieten ****?
Von alexander im Forum PHPAntworten: 4Letzter Beitrag: 19.06.03, 22:15 -
funktion gibt immer FALSE zurück, warum?
Von DieterWeber im Forum PHPAntworten: 3Letzter Beitrag: 22.09.02, 13:20





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren