-
Notifications
You must be signed in to change notification settings - Fork 0
/
FileSearcher.php
32 lines (30 loc) · 962 Bytes
/
FileSearcher.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
namespace daliaIT\rough;
class FileSearcher
{
public function search($data){
$results = glob($data);
if(!$results) return array();
foreach(array('.','..') as $removeThis){
$key = array_search($removeThis, $results);
if($key !== false){
unset($results[$key]);
}
}
if(!$results) return array();
return array_unique($results);
}
public function searchRecursive($filePattern, $base=''){
$files = array();
foreach($this->search($base.'/'.$filePattern) as $file){
if(!is_dir($file)) $files[] = $file;
}
foreach($this->search($base.'/*') as $dir){
if(is_dir($dir)){
$results =$this->searchRecursive($filePattern, $dir);
$files = array_merge($files,$results);
}
}
return $files;
}
}