Dizin Kütüphanesi


    × Bunları biliyor muydunuz?
"Kontrolcü yöntemine ajax kontrolü için : void tür dayatması uygulayabilirsiniz."


Dizinleri daha kolay yönetmek için geliştirilmiş sınıftır.

 

 

# Kurulum


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

↓ composer require znframework/package-filesystem

 

 

# Yöntemler


Folder::create(string $file, int $permission = 0755, bool $recursive = true) : bool
Folder::rename(string $oldName, string $newName): bool
Folder::copy(string $source, string $target): bool
Folder::change(string $name): bool
Folder::basePath(): string
Folder::fileInfo(string $dir, string $extension = NULL): array
Folder::info(string $dir) : object
Folder::disk(string $dir, string $type = 'free'): float
Folder::files(string $path, $extension = NULL, bool $pathType = false): array
Folder::allFiles(string $pattern = '*', bool $allFiles = false): array
Folder::permission(string $name, int $permission = 0755): bool
Folder::deleteEmpty(string $folder): bool
Folder::delete(string $name): bool
Folder::exists(string $name): bool

 

 

# Create


Dizin oluşturmak için kullanılır.

Parametreler

string $path Dizin yolu ve adı.
int $permission = 0755 Erişim yetkisi.
bool $recursive = true İç içe dizin oluşturabilme.
return bool

Kullanımlar

Folder::create('x/OrnekDizin', 0755);

 

 

# Rename


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

Parametreler

string $path Dizin yolu ve adı.
string $newName Yeni ad.
return bool

Kullanımlar

Folder::rename('Example/OldFolder', 'Example/NewFolder');

Dizin isimlendirmesi yapılırken dosya konumu değiştirilirse dizinin ismi değişmekle beraber ilgili konuma taşınır.

Folder::rename('Example/OldFolder', 'Different/NewFolder');

Sadece dizinin konumu değiştirilirse taşıma işlemi yapılır.

Folder::rename('Example/OldFolder', 'Different/OldFolder');

 

 

# Copy


Bir dizin veya dosyayı mevcut konumundan istenilen konuma kopyalamak için kullanılır. Bu işlem dizinin içindeki dosyalar içinde geçerlidir. Yani dizin kopyalanırken içindeki dosya ve dizinler ile kopyalanır.

Parametreler

string $source Kaynak.
string $target Hedef.
return bool

Kullanımlar

Folder::copy('Source/Example', 'Target/CopyExample');

 

 

# Change


PHP'nin geçerli çalışma dizinini değiştirmek için kullanılır.

Parametreler

string $name Dizin adı.
return bool

Kullanımlar

echo getcwd();
Folder::change('xampp7/public_html');
echo getcwd();
xampp7/htdocs/zeroneed
xampp7/public_html

 

 

# BasePath


Sistemin çalıştığı aktif çalışma dizin bilgisi döner.

Parametreler

return string

Kullanımlar

echo Folder::basePath();
xampp7/htdocs/zeroneed 

 

 

# FileInfo


Belirtilen dizine ait dosyalar hakkında bilgi almak için kullanılır.

Parametreler

string $dirName Dizin yolu ve adı.
string $extension = NULL Hangi uzantılı dosyaların listeleneceği. Dizinler için kullanılan uzantıdır. Diğerleri için mevcut dosya uzantılının kullanılması yeterlidir. Eğer hiç bir parametre belirtilmez ise tüm dosyalar hakkında bilgiler listelenir.
Seçenekler dir ve diğer dosya uzantıları
return array

Kullanımlar

output( Folder::fileInfo('Projects', 'php') );
Projects.php => array
(
        basename   => string 'Projects.php' ( length = 14 ),
        size       => integer 4245 ( length = 4 ),
        date       => integer 1471647303 ( length = 10 ),
        readable   => boolean true ( length = 4 ),
        writable   => boolean true ( length = 4 ),
        executable => boolean false ( length = 5 ),
        permission => integer 33206 ( length = 5 ),
)

Projects/ dizininde .php uzantılı dosyaların bilgilerini aldık.

 

 

# Info [6.2.1][2021-01-28]


Dizin hakkında bilgiler içeren bir object türde veri döndürür. File::info() kullanımı gibidir.

Parametreler

string $dir Dizin yolu ve adı.
return object

Kullanımlar

output( Folder::info('Projects') );

 

 

# Disk


Belirtilen dizinin ne kadar alanının kullanılabilir veya toplam boyutunun ne olduğu hakkında bilgi almak için kullanılır. Yöntem byte cinsinden sayısal verir döndürür.

Parametreler

string $dir Dizin yolu ve adı.
string $type = 'free' Tür.
free Dizinin kullanılabilir miktarını verir.
total Dizinin toplam boyutunu verir.
return float

Kullanımlar

output( Folder::disk('Projects') . ' Bytes' );
output( Folder::disk('Projects', 'total') . ' Bytes');
10090905600 Bytes
119926681600 Bytes 

 

 

# Files


Dizine ait dosyaların listesini almak için kullanılır.

Parametreler

string $dirName Dizin yolu ve adı.
string | array $extension = NULL Hangi uzantılı dosyaların listeleneceği.
bool $isPath = false Dosyalar yol bilgileri ile birlikte gösterilsin mi?
return array

Kullanımlar

output( Folder::files('Projects/') );
0 => string '.htaccess' ( length = 11 ),
1 => string 'Backend' ( length = 9 ),
2 => string 'Frontend' ( length = 10 ),
3 => string 'Projects.php' ( length = 14 )
output( Folder::files('Projects/', NULL, true) );
0 => string 'Projects/.htaccess' ( length = 20 ),
1 => string 'Projects/Backend' ( length = 18 ),
2 => string 'Projects/Frontend' ( length = 19 ),
3 => string 'Projects/Projects.php' ( length = 23 )
output( Folder::files('Projects/', 'php', true) );
0 => string 'Projects/Projects.php' ( length = 23 )
output( Folder::files('Projects/', ['php', 'dir'], true) );
0 => string 'Projects/Projects.php' ( length = 23 ),
1 => string 'Projects/Backend' ( length = 18 ),
2 => string 'Projects/Frontend' ( length = 19 )

 

 

# AllFiles


Dizine ait dosyaların listesini dosya yolları ile birlikte almak için kullanılır. files() yönteminden farkı uzantı ayrımı yapılmaması ve dizin içinde yer alan dizinlerde de tarama yapılabilmesidir.

Parametreler

string $dirName Dizin yolu ve adı.
bool $isPath = false Dosyalar yol bilgileri ile birlikte gösterilsin mi?
return array

Kullanımlar

output( Folder::allFiles('Projects/') );
0 => string 'Projects/Backend' ( length = 18 ),
1 => string 'Projects/Frontend' ( length = 19 ),
2 => string 'Projects/Projects.php' ( length = 23 )
output( Folder::allFiles('Projects/', true) );
0 => string 'Projects/Backend/Controllers/Simplicity.php' ( length = 45 ),
1 => string 'Projects/Backend/Views/welcome.wizard.php' ( length = 43 ),
2 => string 'Projects/Frontend/Config/ClassMap.php' ( length = 39 ),
3 => string 'Projects/Frontend/Config/CryptoGraphy.php' ( length = 43 ),
4 => string 'Projects/Frontend/Config/Database.php' ( length = 39 ),
5 => string 'Projects/Frontend/Config/EncodingSupport.php' ( length = 46 ),
6 => string 'Projects/Frontend/Config/FileSystem.php' ( length = 41 ),
7 => string 'Projects/Frontend/Config/General.php' ( length = 38 ),
8 => string 'Projects/Frontend/Config/IndividualStructures.php' ( length = 51 ),
9 => string 'Projects/Frontend/Config/Masterpage.php' ( length = 41 ),
10 => string 'Projects/Frontend/Config/Project.php' ( length = 38 ),
11 => string 'Projects/Frontend/Config/Services.php' ( length = 39 ),
12 => string 'Projects/Frontend/Config/Starting.php' ( length = 39 ),
13 => string 'Projects/Frontend/Config/ViewObjects.php' ( length = 42 ),
14 => string 'Projects/Frontend/Controllers/Simplicity.php' ( length = 46 ),
15 => string 'Projects/Frontend/Libraries/index.html' ( length = 40 ),
16 => string 'Projects/Frontend/Views/welcome.wizard.php' ( length = 44 ),
17 => string 'Projects/Projects.php' ( length = 23 )

Desen Kullanımı

Eğer istenirse 1. parametre için desende yazabilirsiniz.

output( Folder::allFiles('Projects/*.php') );
0 => string 'Projects/Projects.php' ( length = 23 )

 

 

# Permission


Dizin erişim yetkilerini düzenlemek için kullanılır.

Parametreler

string $dirName Dizin yolu ve adı.
int $permission = 0755 Erişim yetkisi.
return bool

Kullanımlar

Folder::permission('Example/', 0644);

 

 

# DeleteEmpty


İçi boş dizini silmek için kullanılır.

Parametreler

string $dirName Dizin yolu ve adı.
return bool

Kullanımlar

Folder::deleteEmpty('Example/');

 

 

# Delete


Dizin silmek için kullanılır. deleteEmpty() yönteminden farkı dizini içindeki dosyalarla birlikte siler.

Parametreler

string $dirName Dizin yolu ve adı.
return bool

Kullanımlar

Folder::delete('Example/');

 

 

# Exists


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

Parametreler

string $dirName Dizin yolu ve adı.
return bool

Kullanımlar

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