borovsky
13.03.2008, 08:39:12
wydaje mi się, że jedynym rozwiązaniem jest stworzenie na serwerze dynamicznie zip'a i get_file_contents
teraz pytanie:
jak zrobić, by nie zaśmiecić sobie serwera, kiedy każdy surfer będzie pobierał dowolne pliki. Inaczej: czy jest możliwość poinformowania serwera o ukończeniu pobierania pliku?
mój pomysł to jest taki, by co np. godzinę uruchamiała się aplikacja na serwerze, co by czyściła określony katalog...
ale wracam o pytania... czy można usunąć plik od razu po ukończeniu pobierania?
Roly
13.03.2008, 09:23:11
Jeżeli serwujesz pliki poprzez php, to możesz po wysłaniu ostatniego bajtu wpisać sobie do jakiegoś tymczasowego pliku informację że plik został pobrany.
Kicok
13.03.2008, 10:45:14
Jeśli pliki wysyłasz przez:
echo file_get_contents( $plik_zip ); to możesz umieścić usuwanie pliku zaraz za tą instrukcją. Cała zawartość została już odczytana z dysku przez PHP i wysłana do serwera WWW, więc nie będzie już potrzebna.
PS. Radziłbym jednak stosować
fopen" title="Zobacz w manualu PHP" target="_manual,
feof" title="Zobacz w manualu PHP" target="_manual,
fread" title="Zobacz w manualu PHP" target="_manual i
fclose" title="Zobacz w manualu PHP" target="_manual - szczególnie przy dużych plikach, których wczytanie w całości może zapchać pamięć.
PS2. Nie zapomnij o odpowiednim
header" title="Zobacz w manualu PHP" target="_manual dla plików zip.
borovsky
14.03.2008, 19:29:56
dzięki (zapomniałem, że PHP działa liniowo)