![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chcę wysyłać do użytkownika plik który jest generowany podczas jego pobierania. Już tłumaczę o co chodzi z bazy danych są pobierane informację zazwyczaj około 100mb i wysyłane do użytkownika. Żeby nie generować masy plików chcę to wysyłać w locie próbowałem tak: Kod require('varibleStream.php'); stream_wrapper_register("test", "MyStream") or die("Failed to register protocol"); $fp = fopen("test://MyTestVariableInMemory", "r"); header("Pragma: no-cache"); header("Content-Type: application/force-download"); header("Expires: 0"); header("Content-Length: 104857600"); header("Content-Transfer-Encoding: binary"); @header('Content-Disposition: attachment; filename="test.txt"'); fpassthru($fp); fclose($fp); ale problem jest taki, że skrypt czeka do wykonania funkcji: Kod public function stream_read($count) { //.... while($r = mysql_fetch_array($q)) { echo $r[0]; } //... } Nie wiem czy ogólnie dobrze kombinuję. Chodzi mi o to, że to co zostało pobrane częściowo z bazy ma być od razu wysyłane do użytkownika i kasowane z pamięci (podczas pobierania całego pliku). Nie proszę o gotowy skrypt, a jakieś wskazówki czym się zainteresować, żeby zrobić coś takiego. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:46 |