Dosya İşlemleri PHP
PHPDosya 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);