Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP memory_limit 64MB

Zdravím
Může mi někdo vysvětlit když mám na frehostingu php skript

<?php
file_put_contents('Jmeno.mp3', file_get_contents('http://icecast2.play.cz/croregion128.mp3', NULL, NULL, 0, 60 * 60 * 16 * 1024));"
?>

jestli se nemýlím tak je to záznam dlouhý 1 hodinu
dlouho mi to fungovalo mi to fungovalo ale už mi to delší dobu nefunguje obrátil jsem se na fórum tohoto frehostingu a tam mi bylo doporučeno abych upravil skript aby nepřesahoval memory_limit 64MB a proto že se v tom nevyznám tak se ptám tady díky

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nevím jak je to možné že to mohlo fungovat, protože je to podle mě dost netradiční řešení. ten strea…
kapole 07.04.2020 11:29
kapole
Pardon, 50MB asi poslední
kapole 08.04.2020 14:32
kapole

Nevím jak je to možné že to mohlo fungovat, protože je to podle mě dost netradiční řešení. ten stream "kape rychlostí" 16 kB/s 128kbps. takže to vychází na hodinu stahování . (540MB asi) A to znamená, že skripty bude běžet hodinu a to je šílenost, povolit někde na hostingu takhle dlouhou dobu. běhu. Někde na vlastním serveru nebo na localhostu není problém....

Ostatně, tohle je dost zajímavá otázka, jak stahovat soubory, jejichž stažení trvá dlouho z podstaty (minuty až hodinu), na vzdáleném PHP serveru. Věděli byste. Napadá mě jen jako v dalším nezávislém procesu tuším exec,cmd,system (wget, s parametry url a maximální délky souboru nebo maximální délky běhu programu

Napadá má, že mohlo dojít ke změně na icecast2.cplay.cz

čili problém možná je sekundárně v max.limitu souboru () ale především v max_execution_time

teď se dívám na ukázku a nedivím se, že ti to shoří: ty to děláš nejhloupějším způsobem: stahuješ obsah souboru do proměnné a potom zapisuješ. takže rada hostéra maséra byla v pořádku, předělat to aby to nežralo celou paměť )

podívat se na php.net , klidně na tu funkci file_get contents a tam uvidíš související funkce pro práci se soubory a najít takovou, která rovnou zapíše, co přečte. A nebo to rozkouskovat (trochu zasterale pomocí while, kdy velikost bufferu přsáhne např 4MB, provést zápis v režimu append)

Zpět do poradny Odpovědět na původní otázku Nahoru