Skocz do zawartości

Download i memory size


stat4seo

Rekomendowane odpowiedzi

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 179773441 bytes) in /home/-/domains/-/public_html/-/download.php on line 171

A tak jest wysyłany plik :

header('Content-Disposition: attachment; filename='.$file.'');
header('Content-Type: application/x-unknown');

if ($fp = fopen($file, 'rb'))
{
flock($fp, 1);
echo(fread($fp, filesize($file))); //line 171
flock($fp, 3);
fclose($fp);
}

Jakieś rady ? Działa przy małych plikach ale przy większych już ten błąd.

hosting: Neteasy.pl

pozdrawiam

logo-stat4seo-blue-small.png

Odnośnik do komentarza
Udostępnij na innych stronach

Nie możesz wczytywać całego pliku tylko musisz sobie jakiś bufor ustalić i go wypluwać po kawałku, np.

$nSizeBufforByte = 1024*10;
while(!feof($fp)) 
{	  
	//reset time limit for big files
	set_time_limit(0);	  
	print(fread($fp,$nSizeBufforByte));
	flush();

}
fclose($fp);

Wielkość buforu musisz sobie indywidualnie dobrać do hostingu i swoich potrzeb.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności