Dosya İşlemleri PHP

 Dosya işlemleri 


<?php
#linix platformlarda / slah ile kullanılır. windows platformlarda / \ kullanılır.
#path : dosya dizini

$path = 'files/documnets/example.txt';

//dosya adını alır. uzantısı istenmiyorsa ikinci parametrede yazılır.
echo basename($path,'.txt'); //example

//dosya yolunu almak için
echo dirname($path); //files/documnets/

//hem dosya yolu hemde dosya adını array olarak almak için
/*
dirname: dosya yolu
basename: dosya adı
extension: dosya uzantısı
filename dosya adı

ikinici parametrede sabitler ile kullanılırsa string döner.
PATHINFO_DIRNAME, PATHINFO_BASENAME,PATHINFO_EXTENSION,PATHINFO_FILENAME
*/
print_r(pathinfo($path));
print_r(pathinfo($path,PATHINFO_BASENAME));

/* dosya tipini döner.
fifo,char,dir,block,link,file,socket,unknown
*/
$find = filetype($path);
echo $find; // file

//dosya ön belleğe alındığı için chace temizlenmesi gerekir.
clearstatcache();

//dosya hakkında bilgileri verir.
print_r(stat($path));


//Dizin altındaki dizin ve dosyaları getirir.
//ikinci paramtere 1 girerse sıralama yapar.
$dir = scandir('./');
print_r($dir);


// dizinler ve dosyaların hepsini listeler
$dir = glop('uploads/*');
print_r($dir);

//tüm jpg uzantılı dosyaları getirir.
$dir = glop('uploads/*.jpg');
print_r($dir);
/*
GLOB_MARK : bir yerde dizin varsa dizin sonunda bir slash bırakır.
GLOB_ONLYDIR : sadece dizinleri getir.
GLOB_NOSORT : sırlamadan getir.
GLOB_BRACE : sadece belirtili dosyaları getirir
/*.* içinde nokta geçen herşeyi getirir
/e* e ile başlayan tüm dosya dizinleri getirir.
*/

$dir = glop('uploads/*',GLOB_MARK);
$dir = glop('uploads/*.{rar,txt}',GLOB_BRACE);
print_r($dir);

//Dosya okuma
$path = 'files/documnets/example.txt';
$openFile = fopen($path);

//feof :end of file
while(!feof($openFile)){
$read = fgets($openFile); //fgets satır satır oku
echo $read.'<br>';
}

fclose($openFile);


//satır sonu /n yerine kulanılabilir ,sabit PHP_EOL End Of Line
echo "deneme ".PHP_EOL."deneme 2";



//dosya oluştur ve değerleri yaz.
$read = file_put_contents('deneme.txt', 'deneme içerik'.FILE_APPEND);