v2.5.2
Giriş yap

PHP, CURL ile başka bir siteden alınan verilerden sonra sayfanın yavaş yüklenme problemi nasıl giderilir?

mek
416 defa görüntülendi

CURL konusunda henüz çok yeniyim. Öğrenmeye, kendimi geliştirmeye çalışıyorum. Bir internet sitesinden belirli alanları çekiyorum ve neredeyse sayfanın yüklenmesi 5-6saniyeyi buluyor. Bunu nasıl düzeltebilirim?

munzevi
720 gün önce
function curl($url, $post=false)
{
    $dosya = './curl/'.md5(rand(0,999999)*rand(0,9999999)).'.txt';
    /*
	$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,1);
	curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
	
	curl_setopt($ch, CURLOPT_POST, $post ? true : false);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post ? $post : false);
	curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
	$icerik = curl_exec($ch);
	curl_close($ch);
	*/
    file_put_contents($dosya, $icerik);
    $icerik = file_get_contents($dosya);
    $baslik = parcala_ve_al('<td class="table-player-name">', '</td>', $icerik);
    $puan = parcala_ve_al('<p class="score">', '</p>', $icerik);
    $sira = parcala_ve_al('<td>', '</td>', $icerik);
    $html = '<tr><td class="">#%1$s</td><td class=""><div class=""><div class=""><h6 class="">%2$s></h6></div></div></td><td class="">%3$s</td><td class="" width="200"><a href="#">%4$s Oyuncu Profili</a></td><td class="" width="200"><a href="#">%5$s Geçmiş Maçları</a></td></tr>';
    $i= 1;
    foreach ($baslik as $key => $value){
        $sonuc[] = sprintf(
            $html,
            $i,
            strip_tags($baslik[$key]),
            strip_tags($puan[$key]),
            strip_tags($baslik[$key]),
            strip_tags($baslik[$key])
        );
        $i++;
    }
    return implode('', $sonuc);
}

önceki kodlarında her fonksiyonda tekrar tekrar curl ile bağlanıyordun, bu da 4 kez bağlandığın için yavaşlatıyordu. şimdi tek bağlantıda işi çözebiliyoruz. senin kodlarını yorum satırı yaptım, ne eklediğimi daha rahat görebilirsin.

dosyanın nereye kaydedileceğini ayarla önce sonra çalıştırdın. farazi olarak ./curl diye bi klasör oluşturdum, kendine göre düzenle.