【发布时间】:2014-04-15 09:04:14
【问题描述】:
我想建立一个搜索模块,用户在其中输入一个文本,该文本应该搜索特定目录中的所有文件。我用过这段代码:
$path_to_check = 'E:/xampp/htdocs/talent_orbit/test/';
$needle = 'test';
foreach(glob($path_to_check.'*.txt') as $filename)
{
//print_r(file($filename));
foreach(file($filename) as $fli=>$fl)
{
echo $f1;
if(strpos($fl, $needle)!==false)
{
echo $filename.' on line '.($fli+1).': '.$fl;
}
}
}
但它只适用于 .txt 文件,它应该在 .doc 文件中搜索。我也将glob($path_to_check.'*.txt') as $filename) 更改为glob($path_to_check.'*.doc') as $filename),但它没有显示结果。请帮帮我。
编辑:
我也尝试了this的解决方案
php > exec("egrep -rl 'string of what I want to find' full-or-relative-directory", $output);
php > print_r($output);
Array
(
[0] => full-or-relative-directory/foo/bar.xml
)
php > $contents = file_get_contents($output[0]);
它显示 Array(),我不知道在“完整或相对目录”之间放置什么,我的意思是路径。
我的代码:-
php > exec("egrep -rl 'rakesh' E:/xampp/htdocs/talent_orbit/test/", $output);
php > print_r($output);
如果不可能,我可以将 doc 文件转换为 txt 文件,然后在该 txt 文件中搜索吗?
提前致谢。
【问题讨论】:
-
更改为 .doc 会出现什么错误?
-
什么都没有.. 它显示为空白