验证上传的文件扩展名Yii2


Validate uploaded file extension Yii2

我正在尝试上传特定的文件。

这是我的代码:

[['file'], 'file', 'extensions' => ['pdf','php'], 'wrongExtension'=>'pdf,php files only'],

当我尝试上传pdf时,效果很好,但当我尝试上载php文件时,请说:"pdf,仅限php文件"。(点击提交按钮后)我也试过了,txt,js等等,但我也遇到了同样的问题。

print_r($att->file)

yii'web'UploadedFile Object ( [name] => backup-restore-mysql.pdf [tempName] => C:'xampp'tmp'php8364.tmp [type] => application/pdf [size] => 310139 [error] => 0 )
yii'web'UploadedFile Object ( [name] => requirements.php [tempName] => C:'xampp'tmp'phpE22C.tmp [type] => application/octet-stream [size] => 5051 [error] => 0 )

控制器:

if ($att->load(Yii::$app->request->post()) && $att->validate()){
 $att->file = UploadedFile::getInstance($att, 'file');
    if (!empty($att->file)){
        $extension = $att->file->extension;
        $att->Filename = $att->file->baseName;
        $att->Extension = $extension;
        $att->Size = $att->file->size;
        $att->C_Id = $id;
        if ($att->save()){
            if(!is_dir('files/'.$extension.'/')){
                mkdir(('files/'.$extension.'/'));
            }
            $att->file->saveAs('files/'.$extension.'/'.$att->file->name);
        }
    }
}

我做错了什么?

我自己解决了这个问题。

$att->upload_file->saveAs(path,nameOfFile);
$att->upload_file = NULL;
$att->save();

感谢所有回复@MSost和@G4M1TG