Ajax ve php script deli tampon

0 Cevap php

Ben sadece internet sitelerini denetleyen bir PHP web gezgini var. AJAX kullanarak gerçek zamanlı tarayıcılarının ilerleme gösterisi yapmak için bir kaç gün önce karar verdi. Php komut dosyası JSON bir dosyaya yazar ve AJAX minik dosyasını okur.

Ben çift ve üçlü ben basit AJAX komut veri benim tarayıcıda görünen garip yönde aşağı yukarı sıçradı ve bitmiş çünkü sonra oluyor ne merak benim PHP komut kontrol etti.

Php script mükemmel ve çok hızlı bir şekilde yürütülür ama benim AJAX yavaş yavaş değerlerini artıracak, set olarak her 2 saniye sonra bırakın. Numaraları sadece aşağı gitmez PHP artar. Tampon birden çok oturum üzerinde çalışan ya da PHP yaklaşık bir saat önce durdu olsa güncellenmektedir şey okurken sanki Ancak, benim web sayfasında gösteren sayıları aşağı yukarı gidip.

Kaçırdığım bir şey ya da bir tampon veya bir sıfırlama düğmesi gibi açık tutmak için bir ihtiyaç var mı?

Bu ben sadece gerçekten uzun bir zaman önce birlikte tokatladı, gösterebilir en çok. Eğer paylaşın lütfen iyi kod biliyorsanız, ben mümkün herhangi bir yardım seviyorum. Ama, ben çok temel fonksiyonlar dışında şeyleri açıklamak lütfen yeni sayılırım.

AJAX

//open our json file

ajaxRequest.onreadystatechange = function(){
 if(ajaxRequest.readyState == 4){
   //display json file contents
 document.form.total_emails.value = ajaxRequest.responseText;
 }
}
ajaxRequest.open("GET", "test_results.php", true);
ajaxRequest.send(null); 

PHP

//get addresses and links
for($x=(int)0; $x<=$limit; $x++){
 $input = get_link_contents($link_list[0]);
 array_shift($link_list);
 $link_list = ($x%100==0 || $x==5)?filter_urls($link_list,$blacklist):$link_list;

 //add the links to the link list and remove duplicates
 if(count($link_list) <= 1000) {
  preg_match_all($link_reg, $input, $new_links);
  $link_list = array_merge($link_list, $new_links);
  $link_list = array_unique(array_flatten($link_list));
 }

 //check the addresses against the blacklist before adding to a a file in JSON 
 $res = preg_match_all($regex, $input, $matches);
 if ($res) {
  foreach(array_unique($matches[0]) as $address)  {
   if(!strpos_arr($address,$blacklist)){
    $enum++;
    json_file($results_file,$link_list[0],$enum,$x);
    write_addresses_to_file($address, $address_file);
   }
  }
 }

 unset($input, $res, $efile);
 }

0 Cevap