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;
| 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 |
| 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 |
|
| 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 |
|
| 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
| 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)
| 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.