Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: readfile(), x-sendfile dodają kod HTML do nagłówka pliku
Forum PHP.pl > Forum > PHP
pablo114
Witam,

Na swojej stronie mam podstronę przez którą pobieram pliki tak jak mniej wiecej z każdego dostępnego filehostingu (rapidshare, filesonic itd). Do wysyłania pliku użytkonikowi korzystam np. z tej metody

  1. <?php
  2. // We'll be outputting a PDF
  3. header('Content-type: application/pdf');
  4.  
  5. // It will be called downloaded.pdf
  6. header('Content-Disposition: attachment; filename="downloaded.pdf"');
  7.  
  8. // The PDF source is in original.pdf
  9. readfile('original.pdf');
  10. ?>


I problemem jest to, że na początku tego pobranego pliku zawsze dodawany jest kod HTML mojej strony. Jak to zablokować?
nospor
No najlepiej nie pluj tego kodu. Skoro to jest pobieranie pliku to ma byc tylko pobieranie i nic wiecej
pablo114
Ok zrozumiałem.

ob_clean() i flush() przed readfile i prosty exit; zaraz po rozwiązuje sprawe. Dzięki. A teraz ciut z innej beczki. Czy takie głupie dawkowanie porcji jak np.

  1. if ($file = fopen($path, 'rb')) {
  2. while(!feof($file) and (connection_status()==0)) {
  3. print(fread($file, 1024*8));
  4. flush();
  5. }
  6. fclose($file);
  7. }


to jedyne rozwiązanie na ograniczenie prędkości pobierania? Makabrycznie to działa na dużych plikach. Cóż nawet nie dużych, 10Mb wystarczy żeby zamulić serwer.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.