为了账号安全,请及时绑定邮箱和手机立即绑定

如何从laravel的images文件夹中删除我的图像?

如何从laravel的images文件夹中删除我的图像?

PHP
至尊宝的传说 2021-04-16 14:15:32
在我的编辑详细信息页面中,有一个图像字段,我希望当我上传新图像时,旧照片将从图像文件夹中删除,新照片也将上传,并且如果我未上传图片而不是提交时,则不会产生错误这是我的图片上传代码$file = $request->file('file');$name = time() . $file->getClientOriginalName();$file->move('uploads/images', $name);$employee->file = $name;$employee->save();如何取消链接?
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

如果您要更新模型,则可以删除旧文件并上传新文件(如果提供的话):


if ($request->hasFile('file')) {

    Storage::delete($employee->file); // If $file is path to old image


    $employee->file = $request->file('file')->store('name-of-folder');

}


查看完整回答
反对 回复 2021-04-23
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您可以使用unlink删除以前的图像文件(如果此代码存在):


if($request->hasFile('file')){

    if(file_exists(public_path("your image url"))){

        unlink(public_path("your image url"));

    };

    UploadImage($request)

}


和UploadImage()定义为:


private function UploadImage($request){

    $file = $request->file('file');

    $name = time() . $file->getClientOriginalName();

    $file->move('uploads/images', $name);

    $employee->file = $name;

    $employee->save();

}


查看完整回答
反对 回复 2021-04-23
?
慕斯709654

TA贡献1840条经验 获得超5个赞

我们可以unlink在php中使用


但是,如果要使用Laravel方法,请改用File :: delete()方法。


//删除单个文件


use File;

File::delete($filename);

//删除多个文件


File::delete($file1, $file2, $file3);

//删除文件数组


$files = array($file1, $file2);

File::delete($files);


查看完整回答
反对 回复 2021-04-23
  • 3 回答
  • 0 关注
  • 373 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信