I am checking uploaded file extension by pathinfo() function of php but in coding standard check it's shows
The use of function pathinfo() is discouraged
My code:
$fileExt = pathinfo($file, PATHINFO_EXTENSION);
Magento Stack Exchange is a question and answer site for users of the Magento e-Commerce platform. It only takes a minute to sign up.
Sign up to join this communityI am checking uploaded file extension by pathinfo() function of php but in coding standard check it's shows
The use of function pathinfo() is discouraged
My code:
$fileExt = pathinfo($file, PATHINFO_EXTENSION);
You can use Magento\Framework\Filesystem\Io\File
instead.
Example:
<?php
namespace Vendor\ModuleName\Model;
use Magento\Framework\Filesystem\Io\File;
class MyClass
{
/**
* @var File
*/
private $file;
/**
* @param File $file
*/
public function __construct(File $file)
{
$this->file = $file;
}
public function myMethod()
{
$path = 'this\is\some\dummy\path\potato.jpg';
$pathInfo = $this->file->getPathInfo($path);
}
}
PATHINFO_EXTENSION
option as a second parameter however.
Dec 3, 2019 at 18:42
Use \Magento\MediaStorage\Model\File\UploaderFactory
for file operation
You can get file extension by this code:
$uploader = $this->fileUploaderFactory->create(['fileId' => $scope]);
$uploader->setAllowRenameFiles(true);
$uploader->setFilesDispersion(true);
$uploader->setAllowCreateFolders(true);
if ($uploader->save($this->getBaseDir())) {
echo $fileName = $uploader->getUploadedFileName();
echo $fileExt = $uploader->getFileExtension();
}
I think I've found the best way to achieve that, you'll get file extension from this code:
$pathArray = explode('.', $path);
$extension = end($pathArray);
return $extension;