simple agnostic package for IO releted (files, dir, etc..)

1.9.0 2022-04-04 22:16 UTC

This package is auto-updated.

Last update: 2024-05-05 02:36:43 UTC


Agnostic Latest Version on Packagist Software License Build Status Quality Score Total Downloads SensioLabsInsight

This is a simple agnostic package with few or zero dipendencies. This is ideal to provides support and helpers for creating packeges without include many and many dipendencies.


  • php: >=7.0.0


You can install the package via composer:

$ composer require padosoft/io


Then here's an example of how to use FileHelper class:

Add a use statement use Padosoft\Io\FileHelper;


if(FileHelper::checkDirExistOrCreate('public/upload', '0755')){
    echo 'dir already exists or now created!';
    echo 'OOPS! dir not exists and unable to create it!';

//get all files in public/upload/
$arrFiles = FileHelper::findFiles('public/upload/*');

//get all jpeg in public/upload/
$arrFiles = FileHelper::findFiles('public/upload/*.jpg');

//check if the path ends with slash
    echo 'add a final slash...';
    $path = DirHelper::addFinalSlash('public/upload');
    echo $path;
    echo 'path already finish with slash.';

//get all directories in public/upload/
$arrFolders = DirHelper::findDirs('public/upload/*');

//truncate log to last 2000 bytes without truncate line
echo 'before:'.PHP_EOL;
echo file_get_contents('log.csv');
if(LogHelper::ftruncatestart('log.csv', 2000)){
    echo 'after:'.PHP_EOL;
    echo file_get_contents('log.csv');

List of functions


  • isDirSafe
  • checkDirExistOrCreate
  • addFinalSlash
  • addFinalSlashToAllPaths
  • endsWithSlash
  • endsWithStar
  • endsWith
  • startsWithSlash
  • startsWith
  • findDirs
  • delete
  • removeFinalSlash
  • removeFinalSlashToAllPaths
  • removeStartSlash
  • removeStartSlashToAllPaths
  • copy
  • isLocal
  • isAbsoluteUnix
  • isAbsoluteWindows
  • isAbsoluteWindowsRoot
  • isAbsolute
  • isRelative
  • join
  • njoin
  • canonicalize
  • isDirEmpty : Check if a directory is empty in efficent way. Check hidden files too.
  • isDotDir : Check if an antry is linux dot dir (i.e.: . or .. )
  • isReadable : Check if a path is a dir and is readable.


  • arrMimeType
  • getPathinfoPart
  • getDirname
  • getFilename
  • getFilenameWithoutExtension
  • getFilenameExtension
  • hasExtension
  • variable2Array
  • changeExtension
  • unlinkSafe
  • fileExistsSafe
  • findFiles
  • filePutContentsSafe
  • getMimeType
  • getMimeTypeByFinfo
  • getMimeTypeByMimeContentType
  • isReadable : Check if a path is a file and is readable.
  • filPerms : Gets file or dir permissions in octal form ('0777') or not ('644').


  • ftruncatestart

Change log

Please see CHANGELOG for more information what has changed recently.


$ composer test


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.


About Padosoft

Padosoft ( is a software house based in Florence, Italy. Specialized in E-commerce and web sites.


The MIT License (MIT). Please see License File for more information.