• User Attivo

    Problema con script link checker

    Ciao, ragazzi.

    Sto realizzando uno script che verifichi in automatico la presenza dei backlinks verso la mia directory. Eccolo:

    
    $query = "select backlink from siti";
    $result=mysql_query($query, $db); 
    while ($row = mysql_fetch_array($result)) {
     
    // Inizializza gli array che restituiranno il risultato della ricerca dei links
    $bl_exist = 'No';    // Link "ufficiale" 
    $bl_exist2 = 'No';  // Link modificato
     
     
    // SPIDER
     
    // Inserisco i codici dei links indicati sul regolamento
     $link = "<a title=\"Testo del titolo\" href=\"URL della directory" target=\"_blank\">Directory Passa Pagerank</a>";
     
    // Suppongo che alcuni modifichino il codice HTML, dunque considero anche di ricercare il solo URL della mia directory
     $link2 = "http://dominio";
     
     
     if ((ereg("^http://(.*)$", $row['backlink']))) {
      $url_bl = fopen ($row['backlink'], "r");
     
      while (!feof ($url_bl)) {
         $parz = fgets ($url_bl, 1024);
         $text = $text.$parz;
     
      }
      fclose($pagina);
     
      if ( ereg ($link, $text)) { 
     
    // Assegna Si all'array che indica la presenza del link "ufficiale" e No alla presenza del link modificato
         $bl_exist = 'Si';
         $bl_exist2 = 'No';
         }
         else if ( ereg ($link2, $text)) {
     
    // Assegna No all'array che indica la presenza del link "ufficiale" e Si alla presenza del link modificato
     
         $bl_exist2 = 'Si';
         $bl_exist = 'No';
     
         } else { $bl_exist = 'No'; $bl_exist2 = 'No'; 
              }
     
    }
     
     
    echo $bl_exist; echo $bl_exist2;
     
    } // Chiude la query di selezione iniziale.
    ?>
    
    

    Il problema è che questo script non funziona correttamente. In pratica si "incanta", nel senso che in alcuni casi, si punta e restituisce sempre i valore:

    $bl_exist = 'Si';
    $bl_exist2 = 'No';

    anche quando sul sito scansito il codice non è quello ufficiale ma è stato modificato.

    Per esempio, ottengo dei risultati simili a questi:

    Sito 1: No Si // Corretto
    Sito 2: No Si // Corretto
    Sito 3: Si No // Corretto
    Sito 4: Si No // Errato, in quanto il codice del link presente non è quello ufficiale
    Sito 5: Si No // Errato
    Sito 6: Si No // Errato
    ... e così via fino alla fine....

    Non riesco proprio a capire quale sia il problema. Riuscite ad aiutarmi?