• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dowload erzwingen

Status
Für weitere Antworten geschlossen.
Werbung:
also um einen download zu erzwingen erstelle eine datei mit z.B. dem Namen download.php

hier der inhalt
[php:1:bf4a2e2f25]
<?php

$filename = $_GET['file'];

// das hier wird für IE benötigt, ansonsten wird es ignoriert
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');

// extension in kleinschrift umwandeln, daran denken auch die dateien
// mit klein buchstaben auf den server zu laden. wenn nicht
// erwünscht, einfach strtolower entfernen
$file_extension = strtolower(substr(strrchr($filename,"."),1));

if( $filename == "" )
{
echo "<html><title>Download Script</title><body>FEHLER: es wurde KEINE DATEI angegeben. Anwendung: download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><title>Download Script</title><body>FEHLER: Datei nicht gefunden. Anwendung: download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // wichtig
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // manche browser benötigen dies
header("Content-Type: $ctype");
// aenderungen, hinzugefuegt um Leerzeichen im dateinamenzu erlauben, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
[/php:1:bf4a2e2f25]

so und dann musst einfach nur noch deine links aendern z.B.
Code:
[url="download/meinfile.avi"]Urlaubsvideo[/url]
wird zu
[url="download.php?download/meinfile.avi"]Urlaubsvideo[/url]

viel spaß ;)
 
bei mir kommt dann die feler meldung:

Parse error: parse error, unexpected '&' in /usr/export/www/hosting/pdthug2/download.php on line 7

was habe ich falsch gemacht? :?: :?
 
Werbung:
entfern aus dem skript sämtliche &nbsp;

ich denke die gehören an den stellen gar nicht rein und sind durch nen unglücklichen zufall mit rein geraten beim reinkopieren hier im forum (;
 
Das Problem ist, dass das Forum bei jedem PHP-Script, in dem Sachen eingerückt sind (mit Leerzeichen) diese Leerzeichen halbiert und mit (nbsp) darstellt.

Es ist also besser, das ganze mit "code", anstatt mit "php" zu machen.
 
L.T.M schrieb:
Das Problem ist, dass das Forum bei jedem PHP-Script, in dem Sachen eingerückt sind (mit Leerzeichen) diese Leerzeichen halbiert und mit (nbsp) darstellt.

Es ist also besser, das ganze mit "code", anstatt mit "php" zu machen.

setz die einfach in echo. bei mir gehts.

Nils aka XraYSoLo
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben