Renomear Arquivo via Upload

Olá Pessoal, tenho este script que esta funcionando muito bem via dropzone, só que me deparei com um problema que quando uma pessoa envia o arquivo com um nome que tem acento acaba não carregando as imagens.

Como faço para renomear o arquivo removendo os acentos e espaço no momento do upload, exemplo: Jéssica e Paulo.jpg --> jessica-e-paulo.jpg

Meu Script em Yii 2:


public function actionUpload()

    {

        $album = Album::findOne(['id'=>$_GET['ab'], 'IdCliente' => Yii::$app->user->identity->id]);

        if(count($album)==0){

           Yii::$app->session->setFlash("error", "Você não tem permissão de executar está ação.");

           return $this->redirect(['/producao']);

        }

        $fileName = 'file';

        $uploadPath = Yii::getAlias($album->alias);

        $thumb = Yii::getAlias($uploadPath . "/thumb");

        if (!is_dir($thumb)) {

            FileHelper::createDirectory($thumb);

        }

        if (isset($_FILES[$fileName])) {

            $file = \yii\web\UploadedFile::getInstanceByName($fileName);

            

            $alias =  $uploadPath. '/' .$file->name;

            $aliasthumb = $thumb.'/'. $file->name;

            $aliasdb = str_replace('@common/uploads','@upload', $album->alias). '/thumb/' . $file->name;

            

            $fotoexiste = Foto::findAll(['image'=>$aliasdb]);

            if(count($fotoexiste) == 0){

                 if ($file->saveAs($alias)) {

                    Image::thumbnail($alias, 200, 150,\Imagine\Image\ImageInterface::THUMBNAIL_INSET)->save(Yii::getAlias($aliasthumb), ['quality' => 80]);

                    $model = new Foto();

                    $model->idAlbum = $_GET['ab'];

                    $model->image = $aliasdb;

                    $model->created_at = time();

                    $model->updated_at = time();

                    if(!$model->save()){

                        @unlink($alias);

                    }

                    echo \yii\helpers\Json::encode($file);

                }

            }

        }


        return false;

    }

Desde já agradeço.

Para renomear o arquivo passe um filtro e depois salve.

Ex:


$imagem = UploadedFile::getInstance($model, 'file');

          

// Passar algum filtro

$nome_filtrado =  filter ---- $imagem->baseName; ----


$nova_imagem = $nome_filtrado . '.' . $imagem->extension;


$imagem->saveAs('DIRETORIO/' . $nova_imagem);