在 yii2 中获取上传文件的扩展名

Geo*_*off 2 php file-upload yii2

我试图在上传过程中获取文件的扩展名,但收到错误消息,路径信息需要字符串:

我努力了:

$path_parts = pathinfo($_FILES['evidence']['name']);
echo $path_parts['extension'];
Run Code Online (Sandbox Code Playgroud)

如何提取文件扩展名,例如jpeg, doc,pdf

Tou*_*afi 5

如果您使用 yii2 kartik 文件输入,您可以通过以下方式获取yii\web\uploadedFile的实例:

$file = UploadedFile::getInstanceByName('evidence'); // Get File Object byName
 // Then you can get extension by this:
$file->getExtension()
Run Code Online (Sandbox Code Playgroud)

如果您还想验证文件,那么您可以使用FileValidator使用临时角色

$validator = new FileValidator(['extensions' => ['png','jpg']]);
if( $validator->validate($file, $errors) ) {
    // Validation success now you can save file using $file->saveAs method
} else {
    // ToDO with error: print_r($errors);   
}
Run Code Online (Sandbox Code Playgroud)