Einzelnen Beitrag anzeigen
  #7 (permalink)  
Alt 23.01.2014, 20:38
picard_1983 picard_1983 ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.01.2014
Ort: Erfurt
Beiträge: 11
picard_1983 befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von picard_1983 (23.01.2014 um 21:10 Uhr)
Mit Zitat antworten