ohmygod Posted September 28, 2005 Report Posted September 28, 2005 Hellou krutie! ((: Ir tāds jautājiens samilzējis. Uztaisīju skriptiņum kas kādā webā atlasa publiski pieejamas bildes un velk tās pamazām nost. Viss strādā, bet šausmīgi lēnu. Ja max_max_execution_time ir 30 sek, kā by default, tad novelkas tikai viena bilde. Vairāk nē. Ja uzlieku 300sek, tad atnāk 5 bildes. 5 Bildes 5 minūtēs - baigi lēnu. Ja vēl rēķina, ka bildes aizņem max ~50Kb. Skriptu es domāju pārtaisīt - visus datus sametot sesijās un tad pēc katras bildes downloada refreshot, laine pārsniegtu max_execution_time. Mans tagadējais variants ir šāds: foreach($biud as $nr => $filename){ $lenght=getimagesize($filename); $size=$lenght[0]*$lenght[1]*$lenght['bits']; $handle= gzopen($filename, "rb"); $contents=gzread($handle, $size); $h=fopen('fot/'.$nr.'.jpg','a'); gzwrite($h, $contents); } Tad kādas metodes var izmantot, lai iegūtu ātrāku downloadu?
Gacha Posted September 28, 2005 Report Posted September 28, 2005 palaid scriptu no konsoles: "php -f scripts.php" un lasi bildes kaut 2 nedēļas no vietas.
Venom Posted September 28, 2005 Report Posted September 28, 2005 labāk pēc bildēm sūtīt GET pieprasījumu un rakstīt parallēli ar fwrite($target,fgets($source))
ohmygod Posted September 28, 2005 Author Report Posted September 28, 2005 palaid scriptu no konsoles: "php -f scripts.php" un lasi bildes kaut 2 nedēļas no vietas. 23329[/snapback] Tik pat labi es bg varētu atstāt browseri, kas lasa bildes 2.ned. Tomēr gribētos lai tas notiekaas ātrāk.
bubu Posted September 28, 2005 Report Posted September 28, 2005 Atmet php, un lieto normālu kompilējamu valodu, kurā veido threadingu, kurā katrs threads velk vienu bildi. Tā vienlaicīgi atvilksies vairākas.
ohmygod Posted September 28, 2005 Author Report Posted September 28, 2005 Atmet php, un lieto normālu kompilējamu valodu, kurā veido threadingu, kurā katrs threads velk vienu bildi. Tā vienlaicīgi atvilksies vairākas. 23335[/snapback] Es jau labprāt... Bet puslīdz zinu tikai PHP, a mācīties kko jaunu galīgi nav laika. Ir bijusi doma par Python - derēs...?
bubu Posted September 28, 2005 Report Posted September 28, 2005 Lai gan tā nav "normālu kompilējamu valodu", taču derēs.
Venom Posted September 28, 2005 Report Posted September 28, 2005 tāpat var vilkt ar shell_exec('php -f scripts.php '.$nakamabilde);
ohmygod Posted September 28, 2005 Author Report Posted September 28, 2005 (edited) Lab uz vakarpusi pamēģināšu ieteiktos variantus. Pagaidām jāveic darba pamatpienākumi... :D thnks par padomiem... :) Edited September 28, 2005 by ohmygod
Venom Posted September 28, 2005 Report Posted September 28, 2005 NB: pamēģini vismaz set_time_limit(0); foreach($biud as $nr => $filename) { $handle=gzopen($filename,'rb'); $h=gzopen('fot/'.$nr.'.jpg','wb'); while(($tmp=gzgets($handle,4096))!==false) gzwrite($h,$tmp); gzclose($handle); gzclose($h); }
ohmygod Posted September 28, 2005 Author Report Posted September 28, 2005 Tākš... Venom - viss būtu cool, pārtaisīju pagaidām testiem, lai velk bildes tika no norādītās lapaspuses (ierobežoju līdz kādām 15 - 20). Tevis dotais koda paraugs strādā baigi veikli, bildes iebirst sekunžu 20 laikā, viņām ir pat normāls izmērs (KB), BET - nav paša attēla... :/ Tukšs laukums... :/
Gacha Posted September 28, 2005 Report Posted September 28, 2005 Tik pat labi es bg varētu atstāt browseri, kas lasa bildes 2.ned.Tomēr gribētos lai tas notiekaas ātrāk. Ar to es biju domājis, ka palaižot no komandrindas, scripts var darboties bezgalīgi, bet ja palaidīsi uz brouseri, tad pēc laiciņa būs taimauts.
ohmygod Posted September 29, 2005 Author Report Posted September 29, 2005 Ja paveikto darbu status glabaashu sesijaa un peec katras bildes ielaades refreshosies (+ ja aizkjeras, tad arii peec 30 sek), tad var staaveet un darboties nezin cik ilgi...
Venom Posted September 29, 2005 Report Posted September 29, 2005 viņām ir pat normāls izmērs (KB), BET - nav paša attēla... :/ Tukšs laukums... :/ bet ja pārsaukt bildes par *.zip, gadījienā tur nebūs iekšā īsts jpg? jo redz rakstīšana noteik ar gz*
ohmygod Posted September 29, 2005 Author Report Posted September 29, 2005 Doooh, pareiz... :unsure: Būšu mājās - iemēģinās... Nav man darbā tagad tā skripta gabala... thnks
Recommended Posts