File: /var/www/limestate-admin/app/Helpers/FileHelper.php
<?php
declare(strict_types=1);
namespace App\Helpers;
class FileHelper
{
private static function getPermissions(string $path): string
{
return substr(sprintf('%o', fileperms($path)), -4);
}
public static function updatePermissions(string $path): void
{
$permissions = self::getPermissions($path);
if ($permissions !== '0775') {
chmod($path, 0775);
}
}
public static function checkAndUpdatePermissions(string $basePath, string $path): void
{
$folders = explode('/', $path);
$subPath = $basePath;
foreach ($folders as $folder) {
$subPath .= '/' . $folder;
self::updatePermissions($subPath);
}
}
}