fastix®: PHP läuft in CGI-Mosus - wie CGI-Skripte in PHP ausführen?

Beitrag lesen

Moin!

Aber wie gesagt, die Lösungen mit z.B. readfile() funktionieren bereits zu meiner Zufriedenheit.

... ist aber weit von einem "perfekt" entfernt, weil Du auf extreme Weise Ressource verschwendest.
Du bemühst den eigenen Webserver eine große Datei an sich selbst auszuliefern, die er dann an den Client sendet.

Das Zip-File ausliefern und den Zähler dafür um eins erhöhen kann auch PHP mit wenigen Zählern.

<?php  
$file='../download/datei.zip';  
countAndSendFile($file);  
exit;  
  
function countAndSendFile($file) {  
  /*  
      Festellen des Dateityps,  
      mime_content_type ist veraltet...  
  */  
  if function_exists ('mime_content_type') {  
     $mime_type=mime_content_type($file);  
  } else {  
    $fileInfo = new finfo(FILEINFO_MIME,'/usr/share/file/magic');  
    $mime_type = $fileInfo->buffer(file_get_contents($file));  
  }  
  
  /*  
     Datei lesen und senden  
  */  
  header('Content-Type: '.$mime_type);  
  readfile($file);  
  
  /*  
     Counter schreiben.  
  */  
  
  $counterFile=$file.'_counter.txt';  
  $counter=file_get_contents($counterFile);  
  $counter++;  
  file_put_contents($counterFile, $counter);  
  return true;  
?>

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix