- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con script link checker
-
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?