Files
esun3d/app/code/Esun/FileManager/Model/FileUploader.php
T
2026-09-15 10:35:56 +08:00

30 lines
794 B
PHP

<?php
declare(strict_types=1);
namespace Esun\FileManager\Model;
use Magento\Framework\File\Uploader;
class FileUploader extends Uploader
{
/**
* Preserve safe Unicode file names prepared by Filename.
*
* @param string|null $fileName
* @return string
* @throws \InvalidArgumentException
*/
public static function getCorrectFileName($fileName)
{
$fileName = is_string($fileName) ? ltrim($fileName, '.') : '';
if ($fileName === '' || strlen($fileName) > 255
|| !preg_match('/^[\p{L}\p{N}._-]+\.[a-z0-9]+$/u', $fileName)
|| str_contains($fileName, '..')
) {
throw new \InvalidArgumentException((string) __('The generated file name is invalid.'));
}
return $fileName;
}
}