kappa / filesystem
Easy system for work with files and directories
Installs: 1 539
Dependents: 4
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >= 5.3.3
- kappa/utils: ~1.0
- nette/finder: ~2.2
Requires (Dev)
- kappa/tester: 1.1.*
- nette/http: ~2.2
Suggests
- nette/http: For using FileUpload as File::upload
README
Easy system for work with files and directories
Requirements:
- PHP 5.3.3 or higher
- Kappa\Utils 1.0.0
- Nette framework ~2.1
Installation
The best way to install Kappa/FileSystem is using Composer:
$ composer require kappa/filesystem:@dev
Usages
Create a new file or directory:
$file = File::create('path/to/file.txt', 'Hello wolrd!') // Create a new file with Hello world! text $directory = Directory::create('path/to/directory') // Create a new directory
Opening files and directories:
$file = File::open('path/to/file'); // Open file $dorectory = Directory::open('path/to/file'); // Open directory
Upload files via FileUpload:
// $fileUpload is instance of FileUpload from forms example... $file = File::upload($fileUpload, 'path/to/save/file');
Load file from Nette\Utils\Image
$image = Image::fromFile('image.png'); $image->resize(10,10); $file = File::fromImage($image, 'newImage.png');
Create a new image 'newImage' with dimensions 10x10 px and return instance of File
If you can work with same image without creating new file use original file name as second parameter
File API:
read()
- Returns file contentoverwrite(content)
- Overwrite file content (content can be null for clear file)clear()
- Clear file content (same asoverwrite(null)
)append(content, newLine = true)
- Append text to end filegetInfo()
- Returns SplFileInfotoImage()
- Returns Nette\Utils\Image
Directory API:
getInfo()
- Returns SplFileInfogetDirectories()
- Returns directories in directory as arraypath => Directory
getFiles()
- Returns files in directory as arraypath => File
getContent()
- Returns directories and files in directory as arraypath => Directory|File
FileSystem API:
remove(source)
- Remove file or directory,source
must be instance of File or Directoryrename(source, new name, overwrite)
- Renamed file or directory.source
must be instance of File or Directory and return new instance of objectcopy(source, target, overwrite)
- Copy source to target,source
must be instance of File or Directory,target
can be string or instance of Directory. Return instance of copy file;move(source, target, overwrite)
- Same ascopy()
but remove source after copy
Examples:
$file = File::create('file.txt'); $file = FileSystem::rename($file, 'superFile.txt'); $file->getInfo()->getBasename(); // Return superFile.txt