Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多个word文档文件中查找单独的文本_Php_File - Fatal编程技术网

Php 在多个word文档文件中查找单独的文本

Php 在多个word文档文件中查找单独的文本,php,file,Php,File,我想建立一个搜索模块,用户在其中输入一个文本,该文本应该搜索特定目录中的所有文件。我使用了以下代码: $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

我想建立一个搜索模块,用户在其中输入一个文本,该文本应该搜索特定目录中的所有文件。我使用了以下代码:

$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_更改为_check,'*.txt'作为$filename更改为glob$path_更改为_check,'*.doc'作为$filename,但它不显示结果。请帮我做这件事

编辑:

我还尝试了从

它显示了数组,我不知道在完整目录和相对目录之间放置什么,我指的是路径

我的代码:-

php > exec("egrep -rl 'rakesh' E:/xampp/htdocs/talent_orbit/test/", $output);
php > print_r($output);
如果不可能,那么我可以将文档文件转换为txt文件,然后在该txt文件中搜索吗


提前谢谢。

这是不可能的。文档文件不是文件。尝试在编辑器中打开它,您将看到。搜索*.txt和*.xml文件将有效,因为它们基本上都是纯文本文件。文档文件中包含二进制数据


例如,一个解决方案是PHP的文档解析器,但它需要一个脚本来循环文件,用解析器打开每个文件并搜索字符串。

更改为.doc会出现什么错误?什么都没有。。它显示空白谢谢你的回复,所以我可以将文档文件转换为txt文件,然后在该txt文件中搜索吗?我想这是可能的。我想你可以用Word把你的文档保存为txt。但是这样会丢失所有的格式和样式。这对我来说没问题。你能告诉我如何将文档文件转换为txt文件吗?有关使用PHP读取文档文件的更多信息,请参阅。这样,如果您获得了内容,您可以将其保存到一个txt文件中,并按照您想要的方式进行搜索。
php > exec("egrep -rl 'rakesh' E:/xampp/htdocs/talent_orbit/test/", $output);
php > print_r($output);