Witam,
Mam pewien problem odnośnie wysyłania plików do pobierania przez użytkowników.

Mam plik download.php
  1. $userBrowser = "";
  2. if (preg_match('/Opera/', $_SERVER['HTTP_USER_AGENT']))
  3. $userBrowser = "Opera";
  4. else if (preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT']))
  5. $userBrowser = "IE";
  6. $mime_type = ($userBrowser == 'IE' || $userBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream';
  7.  
  8. $strFile = $_GET['file'];
  9.  
  10. header("Cache-Control: public, must-revalidate");
  11. header("Pragma: public");
  12. header("Content-Type: ".$mime_type);
  13. header("Content-Length:".filesize($strFile));
  14. header('Content-Disposition: attachment; filename="'.$strFile.'"');
  15. header("Content-Transfer-Encoding: binary\n");
  16.  
  17. $chunksize = 1*(1024*1024); // how many bytes per chunk
  18. $max_bufer = 2*(1024*1024); // how many bytes per chunk
  19. $buffer = '';
  20. $handle = fopen($strFile, 'r');
  21.  
  22. if ($handle === false)
  23. return false;
  24.  
  25. if (!feof($handle))
  26. {
  27. while (($buffer = fgets($handle, $chunksize)) !== false)
  28. {
  29. echo $buffer;
  30. if (ob_get_length()>=$max_bufer)
  31. }
  32. }
  33. $status = fclose($handle);
  34. return $status;


Mam problem jeśli użytkownik chce pobrać co najmniej 2 pliki w jednym czasie. Jeśli w czasie pobierania jednego pliku kliknie na pobieranie drugiego pliku, pobieranie drugiego pliku rozpoczyna się dopiero po ukończeniu pobieranie pierwszego pliku.

W czasie pobieranie pliku nie ma możliwości chodzenia po stronie. Klikając na dowolny link strona czeka aż plik pobierze się.

Co zrobić aby użytkownik mógł pobierać jeden i więcej plików w jednym momencie i użytkownik mógł normalnie przeglądać stronę?