ohmygod Posted September 28, 2005 Report Share 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? Link to comment Share on other sites More sharing options...
Gacha Posted September 28, 2005 Report Share Posted September 28, 2005 palaid scriptu no konsoles: "php -f scripts.php" un lasi bildes kaut 2 nedēļas no vietas. Link to comment Share on other sites More sharing options...
Venom Posted September 28, 2005 Report Share 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)) Link to comment Share on other sites More sharing options...
ohmygod Posted September 28, 2005 Author Report Share 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. Link to comment Share on other sites More sharing options...
bubu Posted September 28, 2005 Report Share 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. Link to comment Share on other sites More sharing options...
ohmygod Posted September 28, 2005 Author Report Share 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...? Link to comment Share on other sites More sharing options...
bubu Posted September 28, 2005 Report Share Posted September 28, 2005 Lai gan tā nav "normālu kompilējamu valodu", taču derēs. Link to comment Share on other sites More sharing options...
Venom Posted September 28, 2005 Report Share Posted September 28, 2005 tāpat var vilkt ar shell_exec('php -f scripts.php '.$nakamabilde); Link to comment Share on other sites More sharing options...
ohmygod Posted September 28, 2005 Author Report Share 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 Link to comment Share on other sites More sharing options...
Venom Posted September 28, 2005 Report Share 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); } Link to comment Share on other sites More sharing options...
ohmygod Posted September 28, 2005 Author Report Share 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... :/ Link to comment Share on other sites More sharing options...
Gacha Posted September 28, 2005 Report Share 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. Link to comment Share on other sites More sharing options...
ohmygod Posted September 29, 2005 Author Report Share 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... Link to comment Share on other sites More sharing options...
Venom Posted September 29, 2005 Report Share 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* Link to comment Share on other sites More sharing options...
ohmygod Posted September 29, 2005 Author Report Share Posted September 29, 2005 Doooh, pareiz... :unsure: Būšu mājās - iemēģinās... Nav man darbā tagad tā skripta gabala... thnks Link to comment Share on other sites More sharing options...
Recommended Posts