PHP实现整站搜索找到指定字符串并展示出来

      发布在:后端技术      评论:0 条评论
<p>PHP实现整站搜索找到指定字符串并展示出来,还可以实现批量字符串替换,方便虚拟空间维护使用参考代码</p><pre class="brush:php;toolbar:false">&lt;?php function&nbsp;getAllDir($path,&nbsp;&amp;$file_dir) { &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!is_dir($path))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;scandir($path); &nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($data&nbsp;as&nbsp;$value)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($value&nbsp;!=&nbsp;&#39;.&#39;&nbsp;&amp;&amp;&nbsp;$value&nbsp;!=&nbsp;&#39;..&#39;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_dir($path&nbsp;.&nbsp;&#39;/&#39;&nbsp;.&nbsp;$value)&nbsp;&amp;&amp;&nbsp;$value&nbsp;!=&nbsp;&#39;.&#39;&nbsp;&amp;&amp;&nbsp;$value&nbsp;!=&nbsp;&#39;..&#39;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$file_dir[]&nbsp;=&nbsp;$path&nbsp;.&nbsp;&#39;/&#39;&nbsp;.&nbsp;$value; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getAllDir($path&nbsp;.&nbsp;&#39;/&#39;&nbsp;.&nbsp;$value,&nbsp;$file_dir); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} } set_time_limit(0); $file_dir&nbsp;=&nbsp;Array(); $file_dir[]&nbsp;=&nbsp;$_SERVER[&#39;DOCUMENT_ROOT&#39;]; getAllDir($_SERVER[&#39;DOCUMENT_ROOT&#39;],&nbsp;$file_dir); echo&nbsp;&#39;&lt;pre&gt;&#39;; print_r($file_dir); print_r(&quot;共计统计到:&quot;&nbsp;.&nbsp;count($file_dir)&nbsp;.&nbsp;&quot;个文件夹&lt;br/&gt;\n\r&quot;); $find_files&nbsp;=&nbsp;Array(); foreach&nbsp;($file_dir&nbsp;as&nbsp;$dir)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;scandir($dir); &nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($data&nbsp;as&nbsp;$d)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($d&nbsp;!=&nbsp;&#39;.&#39;&nbsp;&amp;&amp;&nbsp;$d&nbsp;!=&nbsp;&#39;..&#39;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$file_name&nbsp;=&nbsp;$dir&nbsp;.&nbsp;DIRECTORY_SEPARATOR&nbsp;.&nbsp;$d; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pathinfo&nbsp;=&nbsp;pathinfo($file_name); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($file_name&nbsp;!=&nbsp;$_SERVER[&#39;SCRIPT_FILENAME&#39;])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(is_file($file_name)&nbsp;&amp;&amp;&nbsp;$pathinfo[&#39;extension&#39;]&nbsp;==&nbsp;&#39;html&#39;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$content&nbsp;=&nbsp;file_get_contents($file_name); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$n&nbsp;=&nbsp;&quot;aliyuncsscn&quot;; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字符串搜索是否存在&nbsp;aliyuncsscn &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(strpos($content,&nbsp;$n)&nbsp;!==&nbsp;false)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$find_files[]&nbsp;=&nbsp;$file_name; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_put_contents($file_name,&nbsp;$n&nbsp;.&nbsp;$content); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;(is_file($file_name)&nbsp;&amp;&amp;&nbsp;$pathinfo&nbsp;[&#39;extension&#39;]&nbsp;==&nbsp;&#39;php&#39;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$content&nbsp;=&nbsp;file_get_contents($file_name); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$n&nbsp;=&nbsp;&quot;aliyuncsscn&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(strpos($content,&nbsp;$n)&nbsp;!==&nbsp;false)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$find_files[]&nbsp;=&nbsp;$file_name; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_put_contents($file_name,&nbsp;$n&nbsp;.&nbsp;$content); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} } print_r(&quot;共找的:&quot;&nbsp;.&nbsp;count($find_files)&nbsp;.&nbsp;&quot;个文件夹&lt;br/&gt;\n\r&quot;); print_r($find_files); print_r(&#39;--------&#39;);</pre><p><br/></p>
相关文章
热门推荐