Jump to content
php.lv forumi

savākt img no saita


renathy

Recommended Posts

notestēju performanci dažādām download funkcijām...

$gnTm = 0;
function tmu() {list($nSecU, $iSec) = explode(' ', microtime()); return $iSec + $nSecU;}  // micro time - izdod pašreizējo unix laiku: sekundes + mikrosekundes (aiz "komata")
function tmrSet() {global $gnTm; $gnTm = tmu();}  // set timer
function tmrGet() {global $gnTm; return tmu() - $gnTm;}  // get timer
function tmrEcho($sInfo = '') {printf('%s%.4f<br />', $sInfo, tmrGet());}  // echo timer - parāda laiku ar precizitāti līdz 100 mikrosekundēm (ilgākām darbībām). lielākas precizitātes mērījumiem desmitos mikrosekunžu (vai vēl mazāk) ir jāņem vērā arī pašas funkcijas izsaukuma laiks (tb tad būtu jāizmēra function call overhead)

tmrSet();
$h = curl_init();
curl_setopt($h, CURLOPT_URL, 'http://www.google.com/intl/en_com/images/logo_plain.png');
curl_setopt($h, CURLOPT_HEADER, 0);
curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
file_put_contents('google-logo.png', curl_exec($h));
curl_close($h);
tmrEcho('curl: ');

tmrSet();
copy('http://www.google.com/intl/en_com/images/logo_plain.png', 'google-logo.png');
tmrEcho('copy(): ');

tmrSet();
file_put_contents('google-logo.png', file_get_contents('http://www.google.com/intl/en_com/images/logo_plain.png'));
tmrEcho('file_get_contents(): ');

/*
aptuvens vidējais rezultāts uz mana pc:
curl: 0.1600
copy(): 0.2000
file_get_contents(): 0.2000
*/

secinājumi: curl ir par 20% ātrāks nekā copy() vai file_get_contents(). abi pēdējie ir vienādi ātri, tāpēc ja lieto kādu no tiem, tad var ņemt copy(), jo tad vnk ir mazāk jākodē ;) bet ja performance ir svarīga, tad var uzrakstīt savu curl get funkciju un kopēt ar to

function curlget($sU) {
$h = curl_init();
curl_setopt($h, CURLOPT_URL, $sU);
curl_setopt($h, CURLOPT_HEADER, 0);
curl_setopt($h, CURLOPT_RETURNTRANSFER, 1);
$s = curl_exec($h);
curl_close($h);
return $s;
}
file_put_contents('google-logo.png', curlget('http://www.google.com/intl/en_com/images/logo_plain.png'));

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...