【发布时间】:2016-04-05 18:02:52
【问题描述】:
我正在使用 Drupal7 将 PDF 文件上传到目录中, 并且想知道是否有一个 PHP 脚本可以让我在上传的文件中进行搜索。 例如,如果我在搜索框中输入“JAVA”,它将返回所有包含“JAVA”作为内容的文件。
【问题讨论】:
我正在使用 Drupal7 将 PDF 文件上传到目录中, 并且想知道是否有一个 PHP 脚本可以让我在上传的文件中进行搜索。 例如,如果我在搜索框中输入“JAVA”,它将返回所有包含“JAVA”作为内容的文件。
【问题讨论】:
function searchFiles($needle, $haystack){
$found = array();
$FILES = scandir($haystack);
foreach($FILES as $FILE){
if("." === substr($FILE, 0, 1)) continue;
try{
$content = file_get_contents($haystack."/".$FILE);
if(strpos($content, $needle) !== false) array_push($found, $FILE);
}catch(Exception $e){}
}
return $found;
}
$files = searchFiles("some text", "/var/www/html/");
这是一个 bash 脚本,它可以在没有 PHP 的情况下完成。将其上传到您的服务器,然后chmod +x 以便您可以运行它。然后,您可以使用 exec 从 php 调用脚本。
#!/bin/bash
# Recursively searches the all text files in the current working directoy
# for a given pattern. Search is case-insensitive and regex may be used in the patteren.
# Matches are highlighted.
# Usage: $ lazygrep "somepattern"
PATTERN=$1
DIRSS=$(pwd)
clear
printf "\n\nSEARCHING FOR $PATTERN IN $DIRSS\n\n"
grep -inIEr --color=ALWAYS "$PATTERN" $DIRSS
printf "\n\n"
【讨论】: