Files
opensem/app/Repositories/Core/File.php
Ludovic CANDELLIER 39c80ce6d1 add shipping rules
2023-07-16 14:45:42 +02:00

72 lines
1.5 KiB
PHP

<?php
namespace App\Repositories\Core;
use Illuminate\Support\Facades\Storage;
use SoftCreatR\MimeDetector\MimeDetector;
use SoftCreatR\MimeDetector\MimeDetectorException;
class File
{
public static function checkDirOrCreate($dir)
{
return self::checkDir($dir) ? true : self::createDir($dir);
}
public static function checkDir($dir)
{
return is_dir($dir);
}
public static function checkFile($file)
{
return file_exists($file);
}
public static function createDir($dir)
{
return mkdir($dir, '0777', true);
}
public static function deleteDir($dir)
{
Storage::deleteDirectory($dir);
return true;
}
public static function createFile($file, $content)
{
Storage::put($file, $content);
}
public static function getFile($file)
{
return Storage::get($file);
}
public static function getFilesize($file)
{
return Storage::size($file);
}
public static function getUrlFile($file)
{
return Storage::url($file);
}
public static function download($file, $name = false, $headers = false)
{
return Storage::download($file, $name, $headers);
}
public static function getFileType($file)
{
try {
return (new MimeDetector())->setFile($file)->getFileType();
} catch (MimeDetectorException $e) {
exit('An error occured while trying to load the given file.');
}
}
}