답변
는 사실은 여기
이foreach (glob("<directory>/*.txt") as $search) {
$contents = file_get_contents($search);
if (!strpos($contents, "text")) continue;
$matches[] = $search;
}
... 그 일을 아닌 가장 진보 된 방법으로, 각 파일을 검색의 기본 기능입니다 ...이 몇 일 전에하는 기능을 쓴 내 함수는 훨씬 길지만 다른 여러 클래스의 모든 함수도 사용합니다. 기본적으로이 함수가 수행하는 것입니다.
글쎄, 먼저 glob으로 관심있는 파일의 목록을 얻고 싶을 수도 있습니다 (여러 개의 확장자가 필요한 경우 결과 배열을 병합하거나 this 사용). 그런 다음 결과를 반복하여 file_get_contents과 함께 파일을 열고 strpos으로 문자열을 확인하십시오.
여기
- 모든 파일/디렉토리 내에서 디렉토리의 목록을 가져옵니다 ...이 엄격하게 PHP에서 수행 할 수있는 방법의 사소한 예입니다. 각 파일/디렉터리 이름이 파일
것을
확인 우리가 찾고있는 문자열의 일치를 찾기 위해 문자열 검색 기능을 사용하여 파일
의 내용을 가져옵니다. 일치가 존재하는 경우 5 사람들이 이미이 문제를 해결하는 방법에 대한 좋은 답변을 게시했기 때문에 나는 여기 내 권장 대답을 넣어하지 않습니다 파일 이름
MEEP
<?php
$path = 'c:\\some\\cool\\directory';
$findThisString = 'Cool Cheese';
$dir = dir($path);
// Get next file/dir name in directory
while (false !== ($file = $dir->read()))
{
if ($file != '.' && $file != '..')
{
// Is this entry a file or directory?
if (is_file($path . '/' . $file))
{
// Its a file, yay! Lets get the file's contents
$data = file_get_contents($path . '/' . $file);
// Is the str in the data (case-insensitive search)
if (stripos($data, $findThisString) !== false)
{
// sw00t! we have a match
echo 'match found in ' . $file . "<br>\n";
}
}
}
}
$dir->close();
?>
를 인쇄하지만 것 대안을 추천합니다.
Lucene 검색 엔진의 PHP 구현을 사용 해본 적이 있습니까? 가장 주목할만한 것은 Zend Framework입니다. 가장 좋은 점은 Lucene 라이브러리를 사용하기 위해 프레임 워크를 사용할 필요가 없다는 것입니다 (라이브러리 기본 파일을 포함하십시오 - 젠드 라이브러리 디렉토리를 포함 경로에 추가하는 것을 기억하십시오).
본인은 직접 사용하지 않았으며 그에 대한 많은 리뷰를 들었습니다. 내가 생각할 수있는 유일한 것은 그것이 작은 스크립트 나 프로젝트에 너무 복잡 할 수 있다는 것입니다.
매우 상세한 overview of the Lucene Library은 Zend Framework 참조 안내서에 있습니다.
파일이 크면 각 파일을 메모리로 읽어 들이고 그 파일을 검색해야합니다. (`글로브 :
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]);
$directory = "/var/www/application/store/"; //define the path
$files1 = scandir($directory); //scandir will scan the directory
$c = count($files1); //this will count all the files in the directory
print $c;
- 1. PHP로 텍스트 파일의 문자열을 구문 분석
- 2. PYTHON 프로그래밍 : 파일의 텍스트 검색 및 바꾸기
- 3. 텍스트 파일의 번호 검색 및 바꾸기
- 4. 텍스트 파일의 단어를 기반으로 파일 검색
- 5. PHP로 스포트라이트 검색
- 6. PHP로 mysql에서 간단한 검색
- 7. 검색 결과를 PHP로 필터링
- 8. PHP로 파일의 일부분을 지우는 것
- 9. PHP로 텍스트 서식 지정
- 10. 텍스트 입력을 PHP로 해석하기
- 11. PHP로 텍스트 파일 분할하기
- 12. PHP로 이미지에서 텍스트 읽기
- 13. 파일의 전체 줄 번호 검색
- 14. PHP로 페이지 매기기 텍스트 파일
- 15. 검색 엔진의 키워드를 PHP로 캡처
- 16. PHP로 검색 가능한 카탈로그 디자인
- 17. PHP로 검색 할 색인 만들기
- 18. HTML 테이블에서 PHP로 데이터 검색
- 19. PHP로 Google 검색 결과 긁기
- 20. PHP로 배열에 텍스트 파일 행 넣기
- 21. iOS 응용 프로그램 번들 파일의 전체 텍스트 검색
- 22. Java : 텍스트 파일의 마지막 행 검색 및 바꾸기
- 23. 텍스트 파일의 날짜
- 24. 텍스트 감싸기 - PHP로 대소 문자 구별
- 25. PHP로 검색 쿼리에서 데이터를 긁어 내기
- 26. C# 텍스트 파일의 레코드 업데이트
- 27. 텍스트 파일의 행 바꾸기
- 28. 텍스트 파일의 행 수를
- 29. SWF 파일의 텍스트 편집
- 30. 텍스트 파일의 메타 데이터
여러 확장으로 쉽게 수행 할 수 있습니다 : 당신이 디렉토리를 통해 읽기 권한이 경우
, 당신은 바늘이 egrep와 exec을 결합하여있는 파일을 알아낼 수있다 '*. {ext1, ext2, ext3}', GLOB_BRACE)' –