<?php class dosyaIcerigindeAra{ var $dizinAdi = ''; var $arananKelime = ''; var $kabulEdilenTurler = array('txt','php'); var $bulunanDosyalar; var $dosyalarim; function ara($dizin, $arananKelime){ $this->dizinAdi = $dizin; $this->arananKelime = $arananKelime; $this->dosyalarim = $this->dizinIcerigiAl($this->dizinAdi); $this->bulunanDosyalar = array(); if ( empty($this->arananKelime) ) die('Aranan Kelime Boş'); if ( empty($this->dizinAdi) ) die('Bir Dizin Seçmediniz'); foreach ( $this->dosyalarim as $f ){ $ff=explode ( '.', $f ); if ( in_array(array_pop($ff), $this->kabulEdilenTurler) ){ $icerikler = file_get_contents($f); if ( strpos($icerikler, $this->arananKelime) !== false ) $this->bulunanDosyalar [] = $f; } } return $this->bulunanDosyalar; } function dizinIcerigiAl($dizin){ if (!is_dir($dizin)){die ("$dizin Dizini Okunamıyor!");} if ($ana=@opendir($dizin)){ while ($dosya=readdir($ana)){ if($dosya=="." || $dosya==".."){continue;} if(is_dir($dizin."/".$dosya)){ $dosyalar=array_merge($dosyalar,$this->dizinIcerigiAl($dizin."/".$dosya)); }else{ $dosyalar[]=$dizin."/".$dosya; } } } return $dosyalar; } } $ara = new dosyaIcerigindeAra; $aranacakdizin='C:/Program Files/EasyPHP/data/localweb'; $aranacakkelime='dal'; $ara->ara($aranacakdizin, $aranacakkelime); echo "<pre>"; print_r($ara->bulunanDosyalar); ?>
Çıktısı
Array ( [0] => C:/Program Files/EasyPHP/data/localweb/index.php [1] => C:/Program Files/EasyPHP/data/localweb/metin.txt )