上传时缺少ID /路径

时间:2014-05-19 15:53:11

标签: php symfony doctrine-orm

我正在尝试使用Symfony2教程上传文件:http://symfony.com/fr/doc/current/cookbook/doctrine/file_uploads.html

我可以选择文件,我可以上传它,但问题是,我想为每个上传的文件获取一个唯一的名称。我尝试使用此功能:

public function upload()
{
if (null === $this->file)
{
return;
}
if (null !== $this->tempFilename)
{
    $oldFile = $this->getUploadRootDir().'/'.$this->id.'.'.$this->tempFilename;
    if (file_exists($oldFile))
    {
    unlink($oldFile);
    }
}
$this->file->move(
$this->getUploadRootDir(),
$this->id.'.'.$this->path
    );
}

起初,我认为这不起作用,但似乎$ this-> id和$ this->路径为空。我再试一次,用

代替这一行
    $this->id.'.'.'test'.'.'.$this->path

这一次,它“有效”,因为我可以上传文件,但所有文件都有相同的名称:“。test。”

我不知道它来自何处,因为实体的其余部分是使用学说自动生成的。

    /**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="path", type="string", length=255, nullable=true)
 */
private $path;

1 个答案:

答案 0 :(得分:0)

尝试添加时间,如

$this->id.'.'.time().'.'.$this->path