Symfony 4:如何使用文件系统组件的删除功能删除文件夹中的文件?

问题描述 投票:0回答:1

我试图使用Symfony 4中的文件系统组件的删除功能从文件夹中删除一个文件。

以下是我在控制器中的代码。

//Get old logo
$oldlogo = $employer->getLogo();
//If there is a old logo we need to detele it
     if($oldlogo){
       $filesystem = new Filesystem();
       $path=$this->getTargetDirectory().'/public/uploads/logos/'.$oldlogo;
       $filesystem->remove($path);
 }

private $targetDirectory;

public function __construct($targetDirectory)
    {
        $this->targetDirectory = $targetDirectory;
    }

public function getTargetDirectory()
    {
        return $this->targetDirectory;
    }

Service.yalm:

parameters:
    logos_directory: '%kernel.project_dir%/public/uploads/logos'

App\Controller\EmployerController:
        arguments:
            $targetDirectory: '%logos_directory%'

我没有看到错误信息,但文件没有从文件夹中删除。

symfony symfony4 symfony-filesystem
1个回答
0
投票

我使用这个解决方案。

在我的services.yaml中,我添加了。

public_directory: '%kernel.project_dir%/public'

在我的控制器中我使用

$filesystem = new Filesystem();
$path=$this->getParameter("public_directory").'/uploads/logos/'.$oldlogo;
$filesystem->remove($path);
© www.soinside.com 2019 - 2024. All rights reserved.