PHP, CURL ile başka bir siteden alınan verilerden sonra sayfanın yavaş yüklenme problemi nasıl giderilir?
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?
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.