#1 před 2 lety

rokerkony
Člen
Registrovaný: 29. 7. 2008
Příspěvky: 137

jak zrychlit tento kod?

ahoj pri importu produktu na jeden eshop chci zaroven stahnout od dodavatele z webu i obrazky. Mam na to tenhle castecne osekanej skriptik

function saveImage($urlFrom, $urlTo) {
        $fileEnd = substr($urlFrom,-4,4);
        $path = $urlTo."/".makeUrlFriendly(substr($urlFrom,0,-4)).$fileEnd; // makeUrlFriendly je priblizne jako webalize() v nette

        $image = file_get_contents($urlFrom);
        $handle = fopen($path, "a");
        fwrite($handle, $image);
        fclose($handle);
}

ale je to prilis narocne na rychlost neboli je to hrozne pomale :-(

je nejaka jina(=rychlejsi) moznost jak stahnout obrazky z jine www?

p.s.: samozrejme od dodavatele stahovat obrazky dovolene mam (pro rejpaly :-D)

 

#2 před 2 lety

vlki
Člen
Registrovaný: 30. 6. 2008
Příspěvky: 239

Re: jak zrychlit tento kod?

Tohle jsem také nedávno řešil. Rychlost odezvy vzdáleného serveru moc neovlivníš.
Jediné, co můžeš zlepšit je např. tvé chování v případě, že je provádění skriptu nečekaně ukončené (direktiva php, alokovaná paměť, vypadnutí vzdáleného serveru, …)

Pro získávání doporučuju spíš cURL, pokud ho máš k dispozici. Ošetříš tím případy, kdy ti třeba ten vzdálenej server vypadne.

A jinak bych z toho udělal nějakou frontu, co je potřeba stáhnout, kterou by mi vykonával skript volaný cronem.

 

#3 před 2 lety

rokerkony
Člen
Registrovaný: 29. 7. 2008
Příspěvky: 137

Re: jak zrychlit tento kod?

ja si myslel ze to moc urychlit nepujde nooo … na cURL se podivam a cron planuju :-D :-) diky moc :-)

 

Zápatí