Klasör Oluşturarak Dosya Yazma Sınıfı

<?php
class dosyaYazici{
	var $yenimaske= 0;
	var $klasorizin= 0777;
	var $dosyaizin= 0777;
	var $kullanici= "nobody";
	public $hata=null;
	function yeniKlasor($yol,$klasorname){
		if(!file_exists(getcwd().$yol.$klasorname)){
			$oldumask = @umask($this->yenimaske); 
			$b 		  = @mkdir(getcwd().$yol.$klasorname, $this->klasorizin);
						@umask($oldumask);
			if($b==TRUE){
				return TRUE;
			} else {
				$this->hata.="Klasör Oluşturulamadı";
				return FALSE;
			}
		} else return TRUE;
	}
	function yaz($dosya,$icerik){
		if(!empty($dosya) && !empty($icerik)){
			$fp = fopen($dosya,"w");
			$b = fwrite($fp,$icerik);
			fclose($fp);
			@chmod($dosya,$this->dosyaizin);
			@chown($dosya,$this->kullanici);
			if($b != -1){
				return TRUE;
			} else {
				$this->hata.="Dosya Yazılamadı";
				return FALSE;
			}
		} else {
			$this->hata.="Dosya veya İçerik Bulunamadı";
			return FALSE;
		}
	}
	function oku($dosya){
		if(!empty($dosya)){
			$dt = fopen($dosya, "rb");
			$icerik = fread($dt, filesize($dosya));
			fclose($dt);
			echo $icerik;
		} else {
			$this->hata.="Dosya Bulunamadı";
			return FALSE;
		}
	}
}
$fw = new dosyaYazici;
$fw->yeniKlasor("/","klasor");
$fw->yaz(getcwd()."/klasor/file.txt","bubirdenemedir");
$fw->oku(getcwd()."/klasor/file.txt");
echo $fw->hata;
?>

Çıktısı

bubirdenemedir

 

Dizin İçerisindeki Dosyaların İçeriğinde Kelime Arama

<?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
)