PHP Searching

Discussion in 'PHP' started by lomerok, 9 May 2008.

  1. lomerok

    lomerok Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    почему ничего ненаходится ??
    --------------------------------------------

    PHP:
    <?
    $poisk=$_POST['poisk'];
    $dir=opendir("Scripts");
    while (
    $name=readdir($dir))
     {
      if ((
    $name != ".") &&($name != "..")&&(strpos($name,".htm")!=false))
       {
        
    $name1="Scripts/".$name;
        
    $rfile=fopen($name1,"r");
        
    $sod=fread($rfile,filesize($name1));
        if (
    strpos($sod,$poisk)==true)
         {
         print 
    "vso ok";
          
    $url="Location:".$name1;
          
    header($url);
          exit;
         }
         else print (
    "Ненайдено");
       }
     }
    closedir($dir);
    echo 
    "Stroka otsutstvuet";
    print 
    "<form method=\"post\" action=\"poisk.php\">";
    print 
    "Введите строку для поиска :<input type=\"text\" name=\"poisk\">";
    print 
    "<input type=\"submit\" name=\"submit\" value=\"OK\">";
    print 
    "</form>";
    ?>
     
  2. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    потомучто гладиолус!!

    какой конкретно еррор выдает? плюс поменяй poisk на search а vse ok на all is ok. раздражает нервы
     
    1 person likes this.
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Потому что надо:
    PHP:
      if ($name != '.' && $name != '..' && strpos($name,'.htm') === false
    И

    PHP:
    if (strpos($sod,$poisk) !== false)
     
    #3 banned, 9 May 2008
    Last edited: 9 May 2008
  4. lomerok

    lomerok Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    непомогает ...
    а ошибки нету , просто скрипт ничего неможет найти ....
     
  5. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Еще раз...
     
  6. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    раз не ненаходит значит нету

    юзай file_get_contents вместо fread

    PHP:
    echo "Stroka otsutstvuet";
    print 
    "<form method=\"post\" action=\"poisk.php\">";
    print 
    "Введите строку для поиска :<input type=\"text\" name=\"poisk\">";
    print 
    "<input type=\"submit\" name=\"submit\" value=\"OK\">";
    print 
    "</form>"
    почему сначала echo потом print? или везде юзай ечо или взде принт.

    поменяй код на такой

    PHP:
    <?php
    $search
    =$_POST['search'];
    $dir=opendir("Scripts");
    while (
    $file=readdir($dir))
     {
      if ((
    $file != ".") &&($file != "..")&&(strpos($file,".htm")===false))
       {
        
    $name="Scripts/".$file;
        
    $sod=file_get_contents($rfile,filesize($file));
        if (
    strpos($sod,$search)==true)
         {
         print 
    "all is ok";
          
    $url="Location:".$name;
          
    header($url);
          exit;
         }
         else print (
    "Ненайдено");
       }
     }
    closedir($dir); ?>
    There is no such string
    <form method=\"post\" action=\"search.php\">
    Enter string for search :<input type=\"text\" name=\"search\">
    <input type=\"submit\" name=\"submit\" value=\"OK\">
    </form>
    ?> 
    или че та типа этого (я за работаспособность не отвечаю ибо РНР юзал бог знает когда. вероятно придется немного подправить код)
     
    #6 zythar, 9 May 2008
    Last edited: 9 May 2008
  7. lomerok

    lomerok Elder - Старейшина

    Joined:
    23 Apr 2008
    Messages:
    140
    Likes Received:
    8
    Reputations:
    0
    Зароботало ура ура ура ,,, всем спосибо ....
     
    #7 lomerok, 10 May 2008
    Last edited: 10 May 2008