Jump to content
php.lv forumi

Recommended Posts

Posted

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?

Posted

palaid scriptu no konsoles: "php -f scripts.php" un lasi bildes kaut 2 nedēļas no vietas.

Posted
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.

Posted

Atmet php, un lieto normālu kompilējamu valodu, kurā veido threadingu, kurā katrs threads velk vienu bildi. Tā vienlaicīgi atvilksies vairākas.

Posted
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...?

Posted (edited)

Lab uz vakarpusi pamēģināšu ieteiktos variantus.

Pagaidām jāveic darba pamatpienākumi... :D

 

thnks par padomiem... :)

Edited by ohmygod
Posted

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);
}

Posted

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... :/

Posted
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.
Posted

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...

Posted
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*

×
×
  • Create New...