Php 如何在symfony2中取消文件链接以进行删除

Php 如何在symfony2中取消文件链接以进行删除,php,symfony,Php,Symfony,当我删除实体时,我会使用此代码删除图像 /** * @ORM\PostRemove() */ public function removeUpload() { if ($this->filenameForRemove) { unlink ( $this->filenameForRemove ); } } 但问题是如果我没有图像,它就会抛出这样的异常 Warning

当我删除实体时,我会使用此代码删除图像

  /**
     * @ORM\PostRemove()
     */
    public function removeUpload()
    {
        if ($this->filenameForRemove)
        {
            unlink ( $this->filenameForRemove );
        }
    }
但问题是如果我没有图像,它就会抛出这样的异常

Warning: unlink(/home/site/../../../../uploads/50343885699c5.jpeg) [<a href='function.unlink'>function.unlink</a>]: No such file or directory i
警告:取消链接(/home/site/../../../../../../uploads/50343885699c5.jpeg)[]:没有这样的文件或目录
如果文件不存在或目录不存在,是否有任何方法可以跳过此步骤并仍然删除实体,您可以使用该实体来确保文件实际存在,并确保您有权删除该文件

  /**
     * @ORM\PostRemove()
     */
    public function removeUpload()
    {
        if ($this->filenameForRemove)
        {
            unlink ( $this->filenameForRemove );
        }
    }
if ($this->filenameForRemove)
{
    if (file_exists($this->filenameForRemove) &&
        is_writable($this->filenameForRemove))
    {
        unlink ( $this->filenameForRemove );
    }
}
更新 Symfony引入了文件系统组件。你可以查看文件。它说:
文件系统组件为文件系统提供基本的实用程序。

例如,您可以在删除文件之前检查文件路径/目录是否存在,如下所示:

use Symfony\Component\Filesystem\Filesystem;


$filesystem = new Filesystem();
$oldFilePath = '/path/to/directory/activity.log'

if($filesystem->exists($oldFilePath)){
    $filesystem->remove($oldFilePath); //same as unlink($oldFilePath) in php
}