Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ricerca sito interna e indicizzazione pagina

    Salve a tutti,ho inserito una ricerca interna nel mio sito in php che viene eseguita da uno script inserito in un unica pagina(search.php),il mio problema è che nei risultati mi compare anche la pagina di ricerca nel mio caso search.php,in che modo è possibile evitare l'indicizzazione di questa pagina???Spero di essere stato chiaro,grazie mille!!!

  2. #2
    hai usato uno script già pronto? o lo hai fatto tu? nel primo caso devi vedere come esegue la ricerca, nel secondo basta che nel ciclo che ti stampa a video i risultati, se viene individuata quella data pagina tramite un if la fai saltare ^^

  3. #3
    Ti posto il codice forse riesci a darmi una mano:


    <?Php
    error_reporting(0);
    $timey=0;
    $bgchange="7EB3E4";
    $fchek=0;
    $command[0]="0";
    $dirtest="false";

    #opzioni ricerca iniziale

    if($where=="index"){
    $dirtest="true";
    $linkdir="";
    $handle=opendir('.');
    }

    else {
    $dirtest="true";
    $linkdir="";
    $handle=opendir('.');
    }

    #corpo ricerca

    while (($file = readdir($handle))!==false){
    if (eregi("[a-zA-Z0-p_-]*.html",$file) or eregi("[a-zA-Z0-p_-]*.htm",$file)or eregi("[a-zA-Z0-p_-]*.php",$file)or eregi("[a-zA-Z0-p_-]*.txt",$file)){
    $fchek=$fchek+1;
    $sizer=filesize($file);
    $sizer=($sizer/1000);
    $sizer=round($sizer,1);
    $file=trim($file);
    $file=chop($file);
    $filed=file($file);
    $fileold=$file;
    $count = count($filed);
    $i = $count;
    $zt = 0;
    $clt=0;
    $found=0;
    $stringer=0;
    for($j=$zt;$j<$i;$j++){
    $string=$filed[$j];
    $stringer=$filed[$j];
    $num = "regPLACE hold";
    $string=strtolower($string);
    $stringer=strtolower($stringer);
    $whatdoreplace=strtolower($whatdoreplace);
    $string = ereg_replace($whatdoreplace, $num, $string);
    if($string!=$stringer){
    $found=$found+1;
    $abby=$found;
    $show[$found]=$stringer;
    }
    }
    $dircount=count($file);
    echo "<font size=-1>";
    if($found>0){
    $command[0]=($command[0]+10);
    if(eregi("[a-zA-Z0-p_-]*.txt",$file)){
    $fileold=$file;
    $file="index.php";
    if($dirtest=="true"){
    $file=$fileold;
    }

    }
    if ($found == '1')
    $volte = 'volta' ;
    else
    $volte = 'volte';
    if($file=="index.html"){
    if($bgchange=="EEEEEE"){
    $bgchange="BED9F1";
    echo "<tr><td bgcolor=$bgchange class=testo>
    <a href=\"$linkdir$file\" class=res><font size=2>$file</a>
    $data</font> Dimensioni pagina: $sizer Kb

    Questa pagina contiene <font color=blue>$found</font> $volte il termine <font color=blue>$whatdoreplace</font>
    </td></tr>";
    } else {
    $bgchange="EEEEEE";
    echo "<tr><td bgcolor=$bgchange class=testo>
    <a href=\"$linkdir$file\" class=res><font size=2>$file</a>
    $data</font> Dimensioni pagina: $sizer Kb

    Questa pagina contiene <font color=blue>$found</font> $volte il termine <font color=blue>$whatdoreplace</font>
    </td></tr>";
    }
    } elseif($bgchange=="EEEEEE"){
    $bgchange="BED9F1";
    echo "<tr><td bgcolor=$bgchange class=testo>
    <a href=\"$linkdir$file\" class=res><font size=2>$file</a>
    $data</font> Dimensioni pagina: $sizer Kb

    Questa pagina contiene <font color=blue>$found</font> $volte il termine <font color=blue>$whatdoreplace</font>
    </td></tr>";
    } else {
    $bgchange="EEEEEE";
    echo "<tr><td bgcolor=$bgchange class=testo>
    <a href=\"$linkdir$file\" class=res><font size=2>$file</a>
    $data</font> Dimensioni pagina: $sizer Kb

    Questa pagina contiene <font color=blue>$found</font> $volte il termine <font color=blue>$whatdoreplace</font>
    </td></tr>";
    }
    $file=$fileold;
    for($new=1;$new<=$found;$new++){
    $show[$new]=strip_tags($show[$new]);
    $show[$new] = ereg_replace($whatdoreplace,"<font color=red>$whatdoreplace</font>",$show[$new]);
    }
    }
    }
    }

    if($command[0]==0){
    echo "
    <tr><td bgcolor=F0F0F0 class=testo><center>[b]<font size=2 color=blue>Il termine ricercato non è presente in questo sito</td></tr>";
    }
    ?>

  4. #4
    ho +/- capito, anche se il codice fa, scusa se te lo dico, veramente ribrezzo

    questa riga è da suicidio

    if (eregi("[a-zA-Z0-p_-]*.html",$file) or eregi("[a-zA-Z0-p_-]*.htm",$file)or eregi("[a-zA-Z0-p_-]*.php",$file)or eregi("[a-zA-Z0-p_-]*.txt",$file)){

    pensa che poteva esseer scritta usando le preg, che sono infinitamente più veloci, e poteva essere una sola oltre al fatto che è "logicamente" errata ^^

    if (preg_match('/[a-z0-9]+\.html|htm|php|txt/i', $file)) {

    questa è corretta, cmq non l'ho provata, quindi potrebberò esserci errori...

    a parte questo devi mettere qui il check...

    if (preg_match('/[a-z0-9]+\.html|htm|php|txt/i', $file) || strtolower($file) == 'search.php') {

    cmq al posto della preg, forse, poteva anche essere usato glob, che è estremamente più veloce ^^

    http://it.php.net/glob

    $array = glob("/path/to/images/{*.html,*.htm,*.php,*.txt}", GLOB_BRACE);

    cmq non ha molto senso cercare dentro i file php, perché i file php contengono codice php

  5. #5
    Ho preso uno script gia fatto è lo modificato in alcune parti,il php non lo uso da molto quindi non sono un grande esperto ,la ricerca nei file con estensioni php mi potrebbe tornare utile per alcune cose,cmq la stringa che mi hai postato funziona tutto ok grazie mille!!!

  6. #6
    Originariamente inviato da GianmariaRN
    Ho preso uno script gia fatto è lo modificato in alcune parti,il php non lo uso da molto quindi non sono un grande esperto ,la ricerca nei file con estensioni php mi potrebbe tornare utile per alcune cose,cmq la stringa che mi hai postato funziona tutto ok grazie mille!!!
    attento che con l'espressione di daniele_dll non vengono presi i file con "_" e "-"

  7. #7
    Originariamente inviato da xnavigator
    attento che con l'espressione di daniele_dll non vengono presi i file con "_" e "-"
    O rimediato anche a quelli grazie

  8. #8
    in realtà...sarebbe corretto fare


    if (preg_match('/.+\.html|htm|php|txt/i', $file) || strtolower($file) == 'search.php') {

    sato che devono essere cercati TUTTI i file che hanno quelle estensioni, e siccome su file system...ci stanno solo estensioni valide...beh è corretto far cosi ma a questo punto, effettivamente, non ha senso una preg ^^, basta anche una semplice substr per verificare l'estensione del file ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.