Dizin Kütüphanesi


    × Bunları biliyor muydunuz?
".htaccess dosyasının içeriğini yapılandırmak için Settings/Htaccess.php yapılandırma dosyası kullanılır."


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

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-filesystem

 

 

# Yöntemler


Bool create(String $file, Int $permission = 0755, Bool $recursive = true)
Bool rename(String $oldName, String $newName)
Bool copy(String $source, String $target)
Bool change(String $name)
String basePath()
Array fileInfo(String $dir, String $extension = NULL)
Float disk(String $dir, String $type = 'free')
Array files(String $path, $extension = NULL, Bool $pathType = false)
Array allFiles(String $pattern = '*', Bool $allFiles = false)
Bool permission(String $name, Int $permission = 0755)
Bool deleteEmpty(String $folder)
Bool delete(String $name)

 

 

# Create (ZN >= 0.0.1)


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 (ZN >= 0.0.1)


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', 'NewFolder');

 

 

# Copy (ZN >= 0.0.1)


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 (ZN >= 0.0.1)


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 (ZN >= 4.0.3)


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

Parametreler

Void
Return String

Kullanımlar

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

 

 

# FileInfo (ZN >= 3.0.0)


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.

 

 

# Disk (ZN >= 4.0.3)


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 Array

 

Kullanımlar

\Output::writeLine( Folder::disk('Projects') . ' Bytes' );
\Output::writeLine( Folder::disk('Projects', 'total') . ' Bytes');
10090905600 Bytes
119926681600 Bytes 

 

 

# Files (ZN >= 2.0.0)


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

Parametreler

String $dirName Dizin yolu ve adı.
Mixed $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 (ZN >= 2.0.0)


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 (ZN >= 0.0.1)


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 (ZN >= 0.0.1)


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

Parametreler

String $dirName Dizin yolu ve adı.
Return Bool

Kullanımlar

Folder::deleteEmpty('Example/');

 

 

# Delete (ZN >= 2.0.0)


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/');