Dosya Kütüphanesi


    × Bunları biliyor muydunuz?
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."


Dosyaları işlemleri için oluşturulmuş kütüphanedir.

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-filesystem

 

 

# Yöntemler


1.0.0 string read(string $file)
1.0.0 string contents(string $file)
1.0.0 object find(string $file, string $data)
1.0.0 bool create(string $name)
1.0.0 int write(string $file, string $data)
1.0.0 int append(string $file, string $data)
4.0.3 string replace(string $name, mixed $data, mixed $replace)
5.8.2.8 string reglace(string $name, string $pattern, string $replace)
4.0.3 mixed truncate(string $file, int $limit = 0, string $mode = 'r+')
1.0.0 bool delete(string $name)
2.0.0 bool exists(string $name)
1.0.0 bool rename(string $oldName, string $newName)
1.0.0 bool permission(string $file, int $permission = 0755)
2.0.5 object info(string $file)
2.0.0 float size(string $file, string $type = 'b', int $decimal = 2)
2.0.0 string createDate(string $file, string $type = 'd.m.Y G:i:s')
2.0.0 string changeDate(string $file, string $type = 'd.m.Y G:i:s')
2.0.3 int owner(string $file)
2.0.3 int group(string $file)
3.0.0 void cleanCache(string $fileName = NULL, bool $real = false)
3.0.2 int rowCount(string $file = '/', bool $recursive = true)
3.0.3 bool createZip(string $path, array $data)
1.0.6 bool zipExtract(string $source, string $target = NULL)
6.50.4 array readZip(string $file)
1.0.0 void download(string $file)

 

 

# Read / Contents (ZN >= 1.0.0)


Dosya okumak için kullanılır.

Parametreler

string $file Dosya yolu.
return string

Kullanımlar

File::read('example.txt');

 

 

# Find (ZN >= 1.0.6)


Dosyanın içinde arama yapmak için kullanılır.

Parametreler

string $file Dosya yolu.
string $data Data.
return object index Aranan kelimenin konumu.
contents Dosyanın içeriği.

Kullanımlar

$data = File::find('example.txt', 'example');
output('Index:', $data->index);
ouıtput('Contents:', $data->contents]);
Index:1 
Contents:example-data

 

 

# Create (ZN >= 1.0.0)


Dosya oluşturmak için kullanılır. Eğer oluşturulacak dosya ile aynı isimde dosya varsa oluşturma işlemi başarısız olur.

Parametreler

string $file Dosya yolu.
return bool

Kullanımlar

File::create('example.txt');

 

 

# Write (ZN >= 1.0.0)


Dosyaya yeniden veri yazdırmak için kullanılır. Ancak dosyada daha önceden veri varsa veriler silinerek yeniden yazılır.

Parametreler

string $file Dosya yolu.
string $data Data.
return int

Kullanımlar

File::write('example.txt', 'abc');
echo File::read('example.txt');
abc
File::write('example.txt', 'xxx');
echo File::read('example.txt'); 
xxx

 

 

# Append (ZN >= 1.0.0)


Dosyanın devamına veri yazdırmak için kullanılır.

Parametreler

string $file Dosya yolu.
string $data Data.
return int

Kullanımlar

File::append('example.txt', 'abc');
echo File::read('example.txt');
abc
File::append('example.txt', 'xxx');
echo File::read('example.txt'); 
abcxxx

 

 

# Replace


Dosyadaki veriler üzerinde değiştirme işlemi gerçekleştirmek için kullanılır.

Parametreler

string $file Dosya yolu.
mixed $data Değiştirilecek data.
mixed $replace Yeni data.
return string

Kullanımlar

echo File::replace('example.txt', 'xxx', 'yyy');
abcyyy

 

 

# Reglace (ZN >= 4.0.3)


Dosyadaki veriler üzerinde ZN'nin regex yöntemleri ile değiştirme işlemi gerçekleştirmek için kullanılır.

Parametreler

string $file Dosya yolu.
string $pattern Değiştirilecek düzenli ifade deseni.
string $replace Yeni data.
return string

Kullanımlar

echo File::reglace('example.txt', '{word}', 'x');
x

 

 

# Truncate (ZN >= 4.0.3) / Limit (ZN <= 4.0.22)


Bir dosyayı belli bir uzunlukta budar.

Parametreler

string $file Dosya yolu.
int $limit = 0 Sınırlandırılacak miktar.
string $mode = 'r+' Mod.
return void

Kullanımlar

output(File::read('example.text'));
File::truncate('example.txt', 2);
output(File::read('example.txt'));
abcd
ab

 

 

# Delete (ZN >= 1.0.0)


Dosya silmek için kullanılır.

Parametreler

string $file Dosya yolu.
return bool

Kullanımlar

File::delete('example.txt');

 

 

# Exists (ZN >= 2.0.0)


Dosyanın var olup olmadığını kontrol eder.

Parametreler

string $fileName Dosya yolu ve adı.
return bool

Kullanımlar

if( File::exists('Example/') )
{
    # Dizin varsa kodlarınız.
}

 

 

# Rename (ZN >= 1.0.0)


Dosya adını değiştirmek için kullanılır.

Parametreler

string $file Dosya yolu.
string $newName Yeni isim.
return bool

Kullanımlar

File::rename('path/example.txt', 'path/new_example.txt');

Dosyanın konumunu değiştirmek için path/ bilgisini değiştirebilirsiniz.

File::rename('path/example.txt', 'different/new_example.txt');

 

 

# Permission (ZN >= 1.0.0)


Dosya yetkilerini düzenlemek için kullanılır.

Parametreler

string $file Dosya yolu.
int $permission = 0755 Yetki değeri.
return bool

Kullanımlar

File::permission('example.txt', 0600);

 

 

# Info (ZN >= 2.0.5)


Dosya hakkında bazı bilgilerin yer aldığı obje bilgisi döner.

Parametreler

string $file Dosya yolu.
return object basename Dosya adı.
size Dosya boyutu.
date Dosya oluşturma tarihi.
readable Dosya okunabiliği.
writable Dosyanın yazılabilirliği.
executable Dosyanın çalıştırılabilirliği.
permission Dosyanın yetkisi.

Kullanımlar

output( File::info('robots.txt') );
basename   => string 'robots.txt' ( length = 12 )
size       => integer 79 ( length = 2 )
date       => integer 1471293018 ( length = 10 )
readable   => boolean true ( length = 4 )
writable   => boolean true ( length = 4 )
executable => boolean false ( length = 5 )
permission => integer 33206 ( length = 5 )
Permission Anahtarı [6.24.0][2021-10-09]

Bu anahtar artık daha anlaşılabilir şekilde değer döndürmektedir.

output(File::info('robots.txt')->permission);
0644

 

 

# Size (ZN >= 2.0.0)


Dosya boyutu hakkında bilgi almak için kullanılır.

Parametreler

string $file Dosya yolu.
string $type = 'b' Çıktı türü.
int $decimal = 2 Ondalıklı rakam adeti.
return float

Kullanımlar

output( File::size('zeroneed.php') );
output( File::size('zeroneed.php', 'mb', 1) );
output( File::size('zeroneed.php', 'mb', 2) );
7241
0
0.01 

 

 

# CreateDate (ZN >= 2.0.0)


Dosyanın oluşturulma tarihi bilgisini verir.

Parametreler

string $file Dosya yolu.
string $type = 'd.m.Y G:i:s' Gösterim türü.
return string

Kullanımlar

echo File::createDate('robots.txt');
15.08.2016 5:21:24 

 

 

# ChangeDate (ZN >= 2.0.0)


Dosyanın değiştirilme tarihi bilgisini verir.

Parametreler

string $file Dosya yolu.
string $type = 'd.m.Y G:i:s' Gösterim türü.
return string

Kullanımlar

echo File::changeDate('robots.txt');
15.08.2016 22:30:18  

 

 

# Owner (ZN >= 2.0.3)


Dosya sahibini verir.

Parametreler

string $file Dosya yolu.
return mixed

Kullanımlar

echo File::owner('robots.txt');
0

 

 

# Group (ZN >= 2.0.3)


Dosyanın sahibi olan grubu verir.

Parametreler

string $file Dosya yolu.
return mixed

Kullanımlar

echo File::group('robots.txt');
0

 

 

# CleanCache (ZN >= 3.0.0)


Dosya durum önbelleğini siler.

Parametreler

string $file Dosya yolu.
bool $realPath = false Gerçek yol.
return mixed

Kullanımlar

File::cleanCache();

 

 

# RowCount (ZN >= 3.0.2)


Dosyada yer alan kodların satır sayısı verir. Gerek tek bir dosyada gerekse de bir dizin içinde yer alan tüm dosyalarda satır sayısı hesaplayabilir.

Parametreler

string $file Dosya yolu.
bool $recursive = false İç içe tarama.
return mixed

Kullanımlar

output( File::rowCount('example.txt') );
output( File::rowCount('Example/') );
output( File::rowCount('Example/', true) );
1
5887
11774 

 

 

# CreateZip (ZN >= 3.0.3)


Bir ZIP dosyası oluşturmak için kullanılır. 2. parametre ile hangi dosyaların zipleneceği belirlenir.

Parametreler

string $path Zip dosyası yolu.
array $data Sıkıştırmaya dahil edilecek dosyalar.
return bool

Kullanımlar

File::createZip('example.zip', ['example.txt', 'Example/']);

 

 

# ZipExtract (ZN >= 1.0.6)


Bir zip dosyasında yer alan dosyaları dışarı çıkarmak için kullanılır.

Parametreler

string $source Zip dosyası yolu.
string $target Çıkarılacak dizin.
return bool

Kullanımlar

File::zipExtract('example.zip', 'ExampleZip/');

 

 

# ReadZip (ZN >= 6.50.4)


Bir zip dosyasında yer alan dosyaları dışarı çıkarmak için kullanılır.

Parametreler

string $file Zip dosyası.
return array

Kullanımlar

output(File::readZip('example.zip'));

 

 

# Download (ZN >= 1.0.0)


Dosya indirme işlemini başlatır.

Parametreler

string $file Dosya yolu.
return void

Kullanımlar

File::download('xx/xa/file.png');