繁体   English   中英

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

[英]How do I remove my image from images folder in laravel?

在我的编辑详细信息页面中,有一个图像字段,我希望当我上传新图像时,旧照片将从图像文件夹中删除,并且新照片将上传,并且如果我未上传图片,而不是在提交期间,则不会产生错误

这是我的图片上传代码

$file = $request->file('file');
$name = time() . $file->getClientOriginalName();
$file->move('uploads/images', $name);
$employee->file = $name;
$employee->save();

如何取消链接?

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

if ($request->hasFile('file')) {
    Storage::delete($employee->file); // If $file is path to old image

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

我们可以在php中使用unlink

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

//删除单个文件

use File;
File::delete($filename);

//删除多个文件

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

//删除文件数组

$files = array($file1, $file2);
File::delete($files);

注意:$ filename包含完整路径和图像名称,例如[' https://www.example.com/images/image.jpg ']

您可以使用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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM