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

PHP
56 lines
<?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;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
bubirdenemedir
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

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

PHP
46 lines
<?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);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
5 lines
Array
(
[0] => C:/Program Files/EasyPHP/data/localweb/index.php
[1] => C:/Program Files/EasyPHP/data/localweb/metin.txt
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX