Ich möchte Dateien von meinem Server mit PHP herunterladen können. Es funktioniert so weit so gut, aber nur für Dateien mit Text drin (.txt
.php
, also Dateien mit einfachem Text (auch wenn ich dort ein interessantes Phänomen habe, immer eine Leerzeile vor Textbeginn ... Ideen warum?), aber wenn ich versuche, eine .jpg
Datei zum Download oder ein .exe
es gar nicht funktioniert (Fehler beim Versuch ... zu öffnen)PHP Download funktioniert nur für Dateien mit Text
Hier ist der Code, den ich verwenden:
<?php
session_start();
$file = basename($_GET['file']);
$path = 'uploads/'.$_SESSION['userid']."/".$file;
?>
<?php
if(!file_exists($path)){
die("file not found");
} else {
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$file.'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($path);
exit;
}
Wie nennt man das Skript? Ich denke, dass Ihr Server Header nach Mime-Typ für PHP-und TXT-Dateien gesetzt. – Naumov
Es ist ein Link in einer anderen PHP-Datei, so: 'echo" ".$entry." \ n ". '
'; ' – user5638730