So, ich habe mich durchgelesen und einiges zusammengestellt.
Aber so richtig will es noch nicht funktionieren.
Man muss wissen: Die Dateien sind auf dem Server OHNE Dateiendung gespeichert. Der Name und die Endung kommen aus der DB.
z.B.
Datei auf dem Server: 12345tttgggg888
In der DB:
Spalte->Name: 12345tttgggg888
Spalte->Endung: pdf
Im Script will ich es dann zusammensetzen und als download anbieten:
PHP-Code:
<?php
function readfile_chunked($filename)
{
$chunksize = 1*(1024*1024);
$buffer = '';
$handle = fopen($filename, 'rb');
if ($handle === false)
{
return false;
}
while (!feof($handle))
{
$buffer = fread($handle, $chunksize);
print $buffer;
ob_flush();
flush();
}
return fclose($handle);
}
$file = "12345ttt987";
$endung = "pdf";
$datei_komplett = $file.".".$endung;
$datei_neu = "Testdatei.".$endung;
// Mimetypes definieren, headerdaten ausgeben, readfile_chunked(filepath); ausführen
$dateityp = array(
'doc' => 'application/msword',
'bin' => 'application/octet-stream',
'exe' => 'application/octet-stream',
'rar' => 'application/x-rar-compressed',
'so' => 'application/octet-stream',
'pdf' => 'application/pdf',
'swf' => 'application/x-shockwave-flash',
'tar' => 'application/x-tar',
'zip' => 'application/zip',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'm3u' => 'audio/x-mpegurl',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'wav' => 'audio/x-wav',
'bmp' => 'image/bmp',
'gif' => 'image/gif',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'png' => 'image/png',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'avi' => 'video/x-msvideo'
);
//ini_set('memory_limit', '-1');
//$extget = explode(".", $datei_komplett);
//$extension = $extget[count($extget)-1];
$sendmime = $dateityp[$endung];
header ("HTTP/1.1 200 OK");
header("Content-type: $sendmime");
header("Content-Length: ".filesize($file)); // Dateigröße
header("Content-Disposition: attachment; filename=\"$datei_neu\"");
readfile_chunked($file);
?>
Eventuell kann sich das noch einmal jemand anschauen...wäre echt super.
Also Datenbank auslesen und so das hab ich alles es geht um den download und die Datei zusammensetzen...siehe im script oben. Da habe ich das mal simuliert.
Vielen Dank.