| Autor | Zpráva | ||
|---|---|---|---|
| Janica Profil * |
#1 · Zasláno: 10. 4. 2013, 15:29:19
Zdravím,
ráda bych si stahla 10 minut streamu :D máme live stream... řekněme například známé klfree http://81.201.52.159:8001/ ráda bych si vytvořila jistý druh nahrávání kde by se pravdpodobně cronem spustil script který by tahal stream (pravděpodobně readfile nebo file_get_contents) a následně by se kosil do souboru... vše tady je v klidu ale zasekla jsem se u přerušení... jelikož link pracuje jako stream tedy nekonečný soubor jak ho po 10 minutách zabít? pracovala jsem s myšlenkou timeout ale nic funkčního se mi nepovedlo... děkuji za nasměrování :) |
||
| Jan Tvrdík Profil |
#2 · Zasláno: 10. 4. 2013, 15:33:55
|
||
| Janica Profil * |
#3 · Zasláno: 10. 4. 2013, 15:36:08
ukládání do souboru by neměl být problém mě jde o to jak ukončit ukládání po 10minutách...
|
||
| Jan Tvrdík Profil |
#4 · Zasláno: 10. 4. 2013, 15:38:39
Janica:
Budeš to číst postupně, třeba po 1MB a budeš průběžně kontrolovat uběhlý čas. |
||
| Janica Profil * |
#5 · Zasláno: 10. 4. 2013, 15:49:28
aha tak... no to nepůjde fopen otvýrá celý soubor... ne jen ten 1MB takže se snaží stahnout ale jelikož jde o nekonečný stream tak stahuje a stahuje....
teoreticky mě napadá pouze to, napsat funkci na zabití funkce po dosažení času který by musel být určen před tím, než se vůbec začne stahovat... ale jak jsem psala, nepodařilo se mi nic funkčního :) |
||
| Jan Tvrdík Profil |
Janica:
„no to nepůjde fopen otvýrá celý soubor“ Nesmysl, přesně tohle fopen nedělá. Pro kopírování můžeš použít funkci stream_copy_to_stream.
$readStream = fopen('http://81.201.52.159:8001/', 'r');
$writeStream = fopen('out.bin', 'w');
$limit = 12; // limit v sekundách
$end = time() + $limit;
do {
stream_copy_to_stream($readStream, $writeStream, 1024 * 1024);
} while ($end > time()); |
||
| Janica Profil * |
#7 · Zasláno: 10. 4. 2013, 15:55:07
má chyba :D díky....
|
||
|
Časová prodleva: 13 let
|
|||
0