我正在使用Drupal7开发项目,将PDF文件上传到目录中, 并想知道是否有一个PHP脚本允许我搜索上传的文件。 例如,如果我在搜索框“JAVA”中写入,它将返回所有具有“JAVA”作为内容一部分的文件。
答案 0 :(得分:0)
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/");
这是一个没有PHP的bash脚本。将其上传到您的服务器,然后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"