2016-04-05 5 views
0

Ich arbeite an einem Projekt mit Drupal7, die PDF-Dateien in ein Verzeichnis, hochlädt und fragte mich, ob es ein PHP-Skript gibt, mit dem ich in den hochgeladenen Dateien suchen kann. Zum Beispiel, wenn ich in das Suchfeld "JAVA" schreibe, wird es alle Dateien zurückgeben, die "JAVA" als Teil des Inhalts haben.Script PHP, dass Dateien durchsuchen

Antwort

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/"); 

Hier ist ein Bash-Skript, das es ohne PHP tun. Laden Sie es auf Ihren Server, dann chmod +x, damit Sie es ausführen können. Sie können dann das Skript von PHP mit Exec aufrufen.

#!/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" 
+0

vielen Dank für Ihren Kommentar, aber ich bin all diese Warnungen erhalten: Warnung: is_dir(): Kann die Wrapper „Öffentlichkeit“ finden - hat vergessen, dass Sie es zu aktivieren, wenn Sie PHP konfiguriert? in file_prepare_directory() (.....) Warnung: is_dir(): Der Wrapper "public" konnte nicht gefunden werden - hast du vergessen, ihn zu aktivieren, als du PHP konfiguriert hast? in file_prepare_directory() (.....) Warnung: is_dir(): Der Wrapper "public" konnte nicht gefunden werden - hast du vergessen, ihn zu aktivieren, als du PHP konfiguriert hast? in file_prepare_directory() (.....) – FouadElAfi

+0

Welche Warnungen? .. –

+0

Warnung: is_dir(): Der Wrapper "public" konnte nicht gefunden werden - Haben Sie vergessen, ihn bei der Konfiguration von PHP zu aktivieren? in file_prepare_directory() (.....) Warnung: is_dir(): Der Wrapper "public" konnte nicht gefunden werden - Haben Sie vergessen, ihn bei der Konfiguration von PHP zu aktivieren? in file_prepare_directory() (.....) Warnung: is_dir(): Der Wrapper "public" konnte nicht gefunden werden - Haben Sie vergessen, ihn bei der Konfiguration von PHP zu aktivieren? in file_prepare_directory() (.....) Ich denke aus diesem Grund: $ filepath = "public: //"; \t $ url = file_create_url ($ Dateipfad); \t $ files = searchFiles ("irgendein Text", $ url); – FouadElAfi

Verwandte Themen