[英]How to upload default picture if user delete the picture?
所以,如果用户单击删除按钮,我想制作图片配置文件将是 user.jpg(这是默认图片)。
这是我的 controller:
public function update()
{
$fileimg = $this->request->getFile('img');
$oldimg= $this->request->getVar('oldimage');
$defaultimg= $this->request->getVar('defaultimage');
if ($fileimg == 'user.jpg') {
$uploadImg = $defaultimg;
}
if ($fileimg->getError() == 4) {
$uploadImg= $oldimg;
} else {
$uploadImg = $fileimg->getRandomName();
$fileimg->move('img/', $uploadImg);
if ($oldimg != 'user.jpg') {
unlink('img/' . $oldimg);
}
}
当我单击删除按钮图像时,图像将是 user.jpg 然后我单击按钮上传但图像不会更改为 user.jpg,但始终显示旧图片。 对不起英语不好。
将图像名称写入数据库中的某处,通常是在用户配置文件表中。 它将使您的生活更轻松,并且您可以随时访问它。 然后在你的 model 中,你将能够看到是否没有图像并返回默认图像。
我不确定你的getRandomName()
在做什么,但一些 hash function (sha1,md5 ...)足以创建文件名以避免可能的名称冲突。
不妨这样想:
默认图片不是用户愿意保存到数据库中的数据。 它更像是一个占位符。 进一步思考,可以在视图中处理。 如果用户个人资料图片未设置或存在,则显示默认图片。 为了防止手动输入,您可以将其设为全局数据或配置值或常量。 但关键是它是占位符,而不是数据。
快乐的编码...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.