• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
              C++博客 :: 首頁(yè) :: 新隨筆 ::  ::  :: 管理

            PHP網(wǎng)頁(yè)

            Posted on 2011-04-07 18:55 Kevin_Zhang 閱讀(301) 評(píng)論(0)  編輯 收藏 引用 所屬分類: IT News

            <?php
            /**
             * 文件: search.php
             * 功能: 搜索指定目錄下的HTML文件
             * 創(chuàng)建: 2005-9-23
             * 作者: heiyeluren <heiyeluren AT gmail.com>
             */


            /* 基本函數(shù) */

            //獲取目錄下文件函數(shù)
            function getFile($dir)
            {
             $dp = opendir($dir);
             $fileArr = array();
             while (!false == $curFile = readdir($dp)) {
              if ($curFile!="." && $curFile!=".." && $curFile!="") {
               if (is_dir($curFile)) {
                $fileArr = getFile($dir."/".$curFile);
               } else {
                $fileArr[] = $dir."/".$curFile;
               }
              }
             }
             return $fileArr;
            }

            //獲取文件內(nèi)容
            function getFileContent($file)
            {
             if (!$fp = fopen($file, "r")) {
              die("Cannot open file $file");
             }
             while ($text = fread($fp, 4096)) {
              $fileContent .= $text;
             }
             return $fileContent;
            }

            //搜索指定文件
            function searchText($file, $keyword)
            {
             $text = getFileContent($file);
             if (preg_match("/$keyword/i", $text)) {
              return true;
             }
             return false;
            }

            //搜索出文章的標(biāo)題
            function getFileTitle($file, $default="None subject")
            {
             $fileContent = getFileContent($file);
             $sResult = preg_match("/<title>.*<\/title>/i", $fileContent, $matchResult);
             $title = preg_replace(array("/(<title>)/i","/(<\/title>)/i"), "", $matchResult[0]);
             if (empty($title)) {
              return $default;
             } else {
              return $title;
             }
            }

            //獲取文件描述信息
            function getFileDescribe($file,$length=200, $default="None describe")
            {
             $metas = get_meta_tags($file);
             if ($meta['description'] != "") {
              return $metas['description'];
             }
             $fileContent = getFileContent($file);
             preg_match("/(<body.*<\/body>)/is", $fileContent, $matchResult);
             $pattern = array("/(<[^\x80-\xff]+>)/i","/(<input.*>)+/i", "/(<a.*>)+/i", "/(<img.*>)+/i", "/([<script.*>])+.*([<\/script>])+/i","/&amp;/i","/&quot;/i","/'/i", "/\s/");
             $description = preg_replace($pattern, "", $matchResult[0]);
             $description = mb_substr($description, 0, $length)." ...";

             return $description;
            }

            //加亮搜索結(jié)果中的關(guān)鍵字
            function highLightKeyword($text, $keyword, $color="#C60A00")
            {
             $newword = "<font color=$color>$keyword</font>";
             $text = str_replace($keyword, $newword, $text);
             return $text;
            }

            //獲取文件大小(KB)
            function getFileSize($file)
            {
             $filesize = intval(filesize($file)/1024)."K";
             return $filesize;
            }

            //獲取文件最后修改的時(shí)間
            function getFileTime($file)
            {
             $filetime = date("Y-m-d", filemtime($file));
             return $filetime;
            }

            //搜索目錄下所有文件
            function searchFile($dir, $keyword)
            {
             $sFile = getFile($dir);
             if (count($sFile) <= 0) {
              return false;
             }
             $sResult = array();
             foreach ($sFile as $file) {
              if (searchText($file, $keyword)) {
               $sResult[] = $file;
              }
             }
             if (count($sResult) <= 0) {
              return false;
             } else {
              return $sResult;
             }
            }


            /* 測(cè)試代碼 */

            //指定要搜索的目錄
            $dir = "./php_Linux";
            //要搜索的關(guān)鍵字
            $keyword = "sendmail";

            $fileArr = searchFile($dir, $keyword);
            $searchSum = count($fileArr);

            echo "搜索關(guān)鍵字: <b>$keyword</b> &nbsp; 搜索目錄: <b>$dir</b> &nbsp; 搜索結(jié)果: <b>$searchSum</b><br><hr size=1><br>";

            if ($searchSum <= 0) {
             echo "沒(méi)有搜索到任何結(jié)果";
            } else {
             foreach ($fileArr as $file) {
              echo "<a href='$file' target='_blank'>". highLightKeyword(getFileTitle($file), $keyword) .
                "</a> - ".getFileSize($file)."&nbsp;". getFileTime($file) .
                "<br>\n<font size=2>".highLightKeyword(getFileDescribe($file), $keyword) .
                "</font><br><br>";
             }
            }

            ?>
             

             

            久久精品无码免费不卡| 久久精品无码专区免费| 亚洲国产精品无码久久98| 久久久久免费精品国产| 亚洲va久久久噜噜噜久久天堂| 亚洲欧美伊人久久综合一区二区 | 久久综合丝袜日本网| 久久97久久97精品免视看| 久久这里都是精品| 韩国免费A级毛片久久| 人人狠狠综合久久亚洲88| 伊色综合久久之综合久久| 久久精品无码专区免费青青| 久久久久国产一区二区| 久久精品国产久精国产思思| 精品国产乱码久久久久久浪潮| 奇米综合四色77777久久| 精品久久久久久国产三级| 久久AV高潮AV无码AV| 亚洲精品乱码久久久久久蜜桃 | 国内精品伊人久久久久影院对白 | 国内精品久久久久伊人av| 久久强奷乱码老熟女网站| 69国产成人综合久久精品| 久久福利资源国产精品999| 久久久久久a亚洲欧洲aⅴ| 欧洲人妻丰满av无码久久不卡| 亚洲精品99久久久久中文字幕| 久久综合狠狠综合久久激情 | 99热成人精品免费久久| 精品无码久久久久久尤物| 7777精品久久久大香线蕉| 一本久道久久综合狠狠躁AV| 午夜精品久久久内射近拍高清| 99久久免费只有精品国产| 久久精品国产99国产精品澳门| 久久九九精品99国产精品| 亚洲精品无码久久久影院相关影片| 亚洲人成电影网站久久| 久久婷婷五月综合成人D啪| 久久久久久久精品成人热色戒|