PHP library for file and directory management
This library is supported by PHP versions 5.6 or higher
The preferred way to install this library is through Composer :
composer require acide/acfilemanager
To use this library with Composer :
require __DIR__ . '/vendor/autoload.php';
use ACFileManager\Src\File;File::exists($path)| Method | Description | Return |
|---|---|---|
| exists | Check if a file or directory exists in a path | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File or directory path | String | Yes |
File::scanPath($path , $order);| Method | Description | Return |
|---|---|---|
| scanPath | List files and directories inside the specified path | Array |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $order | Sorting order | Int | No | SCANDIR_SORT_ASCENDING |
If the optional $order is set to SCANDIR_SORT_DESCENDING, then the sort order is alphabetical in descending order. If it is set to SCANDIR_SORT_NONE then the result is unsorted.
File::filterScan($path , $filters , $order)| Method | Description | Return |
|---|---|---|
| filterScan | Filters and remove an array from scan | Array |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $filters | Array of filtered directories and files | Array | Yes | |
| $order | Sorting order | Int | No | SCANDIR_SORT_ASCENDING |
# A simple filterScan() example
$result = File::filterScan(
'/path/tmp' ,
array('readme.txt' , 'sources')
);
print_r($result);Lists all files and directories in /path/tmp and removes readme.txt file and sources directory from result
File::getFiles($path , $regex , $depth , $order)| Method | Description | Return |
|---|---|---|
| getFiles | Lists all files in a path | Array |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $regex | Regex for matching file name | String | No | null |
| $depth | Depth for searching files | Int | No | CURRENT_DEPTH |
| $order | Sorting order | Int | No | SCANDIR_SORT_ASCENDING |
File::getDirectories($path , $regex , $depth , $order)| Method | Description | Return |
|---|---|---|
| getDirectories | Lists all directories in a path | Array |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $regex | Regex for matching directory name | String | No | null |
| $depth | Depth for searching directories | Int | No | CURRENT_DEPTH |
| $order | Sorting order | Int | No | SCANDIR_SORT_ASCENDING |
File::deleteFile($path)| Method | Description | Return |
|---|---|---|
| deleteFile | Delete file if exists | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File path | String | Yes |
File::deleteDirectory($path)| Method | Description | Return |
|---|---|---|
| deleteDirectory | Delete a folder with its content | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes |
File::emptyDirectory($path , $except , $self_delete)| Method | Description | Return |
|---|---|---|
| emptyDirectory | Delete all files and directories from directory | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $self_delete | Delete directory itself | Boolean | No | False |
| $except | Doesn't remove these files and directories | Array | No | [] |
# A simple emptyDirectory() example
File::emptyDirectory('/to/path/sample' , [
'/to/path/sample/Application' ,
'/to/path/sample/webpack.config.js'
]);File::makeDirectory($path , $mode)| Method | Description | Return |
|---|---|---|
| makeDirectory | Creates a directory | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes | |
| $mode | Mode number | Int | No | 0777 |
The mode is 0777 by default, which means the widest possible access. For more information on modes, read the details on the chmod() page.
File::addFileContent($path , $content , $mode)| Method | Description | Return |
|---|---|---|
| addFileContent | Add content to a file | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File path | String | Yes | |
| $content | Content for writing | String | Yes | |
| $mode | Writing Mode | String | No | w |
If you use addFileContent() on a file that does not exist, it will create it, given that the file is opened for writing (w) or appending (a)
# A simple addFileContent() example
$result = File::addFileContent(
'/path/tmp/doc.txt' ,
'This is for test :)'
);
var_dump($result);File::copyDirectoryRecursively($from , $to)| Method | Description | Return |
|---|---|---|
| copyDirectoryRecursively | Copies directory recursively |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $from | From directory path | String | Yes | |
| $to | Destination directory path | String | Yes |
File::copyFile($from , $to)| Method | Description | Return |
|---|---|---|
| copyFile | Copies file content | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $from | From file path | String | Yes | |
| $to | Destination file path | String | Yes |
File::rename($path , $new_name)| Method | Description | Return |
|---|---|---|
| rename | Renames a file or directory | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory or file path | String | Yes | |
| $new_name | New name | String | Yes |
# A simple rename() example
$result = rename(
'/path/tmp/File1.txt' ,
'File2.txt'
);
var_dump($result);File::moveFile($from_dir , $to_dir , $name)| Method | Description | Return |
|---|---|---|
| moveFile | Moves file to another directory | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $from_dir | Parent directory path | String | Yes | |
| $to_dir | Destination directory path | String | Yes | |
| $name | File name | String | Yes |
# A simple moveFile() example
$result = File::moveFile(
'/path/tmp' ,
'/path/another' ,
'Files.txt'
);
var_dump($result);Moves Files.txt in /path/tmp directory to /path/another directory
File::moveDirectory($from_dir , $to_dir , $dir)| Method | Description | Return |
|---|---|---|
| moveDirectory | Moves directory | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $from_dir | Parent directory path | String | Yes | |
| $to_dir | Destination directory path | String | Yes | |
| $dir | Directory name | String | Yes |
File::isFileEmpty($path)| Method | Description | Return |
|---|---|---|
| isFileEmpty | Check if file is empty | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File path | String | Yes |
File::isDirectoryEmpty($path)| Method | Description | Return |
|---|---|---|
| isDirectoryEmpty | Check if directory is empty | Boolean |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes |
File::cleanPath($path)| Method | Description | Return |
|---|---|---|
| cleanPath | Removes last / and \ from path | String |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File or directory path | String | Yes |
# A simple cleanPath() example
$result = File::cleanPath('path/tmp/');
echo $result;Result is path/tmp
File::fixPath($path)| Method | Description | Return |
|---|---|---|
| fixPath | Fixes path string problems | String |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File or directory path | String | Yes |
# A simple fixPath() example in Linux OS
$result = File::fixPath('var/www/html/acide\images\test.png');
echo $result;Result is var/www/html/acide/images/test.png
File::getDirectoryTree($path)| Method | Description | Return |
|---|---|---|
| getDirectoryTree | Get all files and directories | Array |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes |
--- /root
|
|----- /src
| |----- main.js
| |----- home.js
|
|----- example.text
|----- simple.php
The file manager returns the above file structure as follows :
array (size=2)
'../root' =>
array (size=3)
'src' => string 'directory' (length=3)
'example.text' => string 'file' (length=12)
'simple.php' => string 'file' (length=10)
'../root/src' =>
array (size=2)
'main.js' => string 'file' (length=7)
'home.js' => string 'file' (length=7)File::getBaseName($path)| Method | Description | Return |
|---|---|---|
| getBaseName | Get path base name | String |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | Directory path | String | Yes |
File::getFileContent($path)| Method | Description | Return |
|---|---|---|
| getFileContent | Returns file content | String |
| Attribute | Description | Type | Required | Default |
|---|---|---|---|---|
| $path | File path | String | Yes |
This project is licensed under Creative Commons Zero v1.0 Universal license. See the LICENSE file for more info.