sorun ana dökümanın geç yüklenmesi. yani sayfanın kendisinin, dahil edilenler değil. menüye uygulanan javascript komutları mevcut olabilir ve bu komutlar sayfanın yüklenmesinin tamamlanmasını beklemekte olabilir. ayrıca herhangi bir css dosyasından gelmiyor menünün stil kodları, litespeed-ccss id'sine sahip bir style tagı içerisinde ana dökümanda oluşturulmuş. senin uygulayabileceğin en iyi yöntem şuan için, sayfaya yüklenene kadar siteyi göstermemek.
yeni uyandım, tam olarak kafamı toplayamadım ama anladığım kadarıyla cevap vereceğim. sayfadaki kodların çoğunu gereksiz buluyorum, bunu basit bir matematik işlemi olarak ele almanı öneririm;
function fiyatHesapla($gun){
return $gun > 2 ? (2 * $ozelFiyat) + ($gun - 2 * $normalFiyat) : $gun * $ozelFiyat;
}
burada dedik ki, kişi 2 günden fazla kalacaksa önce 2 günlük özel fiyatı hesapla ve kalan günleri normal fiyat üzerinden hesaplayıp topla. iki günden fazla kalmayacaksa sadece ozel fiyatı uygula.
nulled script kullanıyorsanız, kullanmayın.
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.
mübarek, nazikçe basit bir şey istedim; kodu ekleyiver. "ekle" bile demedim emir kipine girer diye, hani burda curl bloğu? bende örneği tamamlanmış fonksiyonla vereyim.
$icerik = curl_onbellek('xxx.com');
şimdi ne yazsam, daha çok yanıt vereceğim gibi hissediyorum. sen kodunu ekleyiver, kullandığın kod ile örnek vereyim. birde ne sıklıkla kontrol etmek istiyorsun siteyi. bir kere bağlandın, bugün aldığın verinin aynısı yarın işine yarar mı yoksa her bağlantıda anlık olarak siteyi kontrol mu etmen gerekiyor?
curl yavaştır. farklı işlemler için tekrarlanan bağlantılar kurma, aynı sayfada birden fazla işlem gerçekleştirceksen, ilk bağlantıda gelen veriyi dosyaya yaz ve dosyadan okuyarak işlem yap.
overflowu kapatirsan veya kaldirirsan sorun ortadan kalkar. absolute ile overflow uyumlu degiller, overflow'un kapsayicisi icerisinde absolute kullanilabilir. negatif deger alamaz, pozitif degerler kapsayiciyi asamaz.
exec, shell_exec ve system ile sunucu üzerinde kabuk komutları çalıştırabilirsin. bu işlem CLI standartlarında gerçekleşir, kısaca uçbirimde komut bildirmekten farksızdır. cronjob sunucu içerisinde kurulu olan bir eklenti olduğu için, komut satırı ile çalıştırlabilir, cpanel gnu dahilinde arayüz sağlayarak bu işlemi daha pratik ve kolay bir hale getirmektedir sadece. exec ile bu işlemi yapmak daha maliyetli ve ileri düzey kullanıcılar içindir, maliyet unsuru ise güvenlik sebebi ile hostinglerde bu yöntemin kapalı olmasından kaynaklanmaktadır. en stabil yol, cpanel ile kullanmak.
herhangi bir sorun yok, döküman ilk kez yüklendiğinde ve süre uzadığında gelen svg path'den sonra gecikmeli olarak css'in gelmesi bu durumu yaşatıyor. daha performanslı bir sunucuya geçebilirsin veya performansı etkileyen unsurları tespit edip iyileştirmeler yapabilirsin. gördüğüm kadarıyla sorunun sebebi ne ise, sunucu ile alakalı. tüm dosyalar 1-5 ms aralığında yükleniyor, ancak ana döküman 900ms içerisinde sonuçlanıyor.
edit: body öğesini display olarak ayarlayıp javascript ile döküman tamamen yüklendiğinde body öğesini görünür yapabilirsin. bu durumda hiçbir şey sayfa yüklenene kadar gözükmez.