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-04-05 02:25:11 UTC


README

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.

##Requires

  • php: >=7.0.0

Installation

You can install the package via composer:

$ composer require padosoft/io

Usage

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

Add a use statement use Padosoft\Io\FileHelper;

<?php

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

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

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

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

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

//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

DirHelper

  • 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.

FileHelper

  • 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').

LogHelper

  • ftruncatestart

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

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

Credits

About Padosoft

Padosoft (https://www.padosoft.com) is a software house based in Florence, Italy. Specialized in E-commerce and web sites.

License

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