我正在尝试使用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;
答案 0 :(得分:0)
尝试添加时间,如
$this->id.'.'.time().'.'.$this->path