Dosya Kütüphanesi


    × Bunları biliyor muydunuz?
"Konsoldan 'php zerocore create-grand-vision' gibi basit bir komutla tüm veritabanı ve tablolarının model dosyasını oluşturabilirsiniz."


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


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

 

 

# Read / Contents


Dosya okumak için kullanılır.

Parametreler

string $file Dosya yolu.
return string

Kullanımlar

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

 

 

# Find 


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


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


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


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 


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 / Limit


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


Dosya silmek için kullanılır.

Parametreler

string $file Dosya yolu.
return bool

Kullanımlar

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

 

 

# Exists


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.
}

 

 

# Extension


Dosyanın uzantısını verir.

Parametreler

string $file Dosya yolu ve adı.
bool $dot = false Nokta ile beraber mi?
return string

Kullanımlar

$file = 'example.txt';

output(File::extension($file));
txt

$dot = true

2. parametrenin true ayarlanması durumunda dosya uzantısını nokta ile birlikte verir.

$file = 'example.txt';

output(File::extension($file, true));
.txt

 

 

# RemoveExtension


Dosyanın uzantısını kaldırır.

Parametreler

string $file Dosya yolu ve adı.
return string

Kullanımlar

$file = 'example.txt';

output(File::removeExtension($file));
example

 

 

# Rename


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


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


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ı

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

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

 

 

# Size 


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


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


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


Dosya sahibini verir.

Parametreler

string $file Dosya yolu.
return mixed

Kullanımlar

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

 

 

# Group


Dosyanın sahibi olan grubu verir.

Parametreler

string $file Dosya yolu.
return mixed

Kullanımlar

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

 

 

# CleanCache


Dosya durum önbelleğini siler.

Parametreler

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

Kullanımlar

File::cleanCache();

 

 

# RowCount 


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 


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 


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 


Bir zip dosyasında yer alan dosyaların listesini almak için kullanılır.

Parametreler

string $file Zip dosyası.
return array

Kullanımlar

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

 

 

# Download


Dosya indirme işlemini başlatır.

Parametreler

string $file Dosya yolu.
return void

Kullanımlar

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