【问题标题】:delete image and thumbnail image in laravel在laravel中删除图像和缩略图
【发布时间】:2020-11-13 22:40:55
【问题描述】:

我尝试删除 laravel 项目中的一些图像文件。我关注网站上的教程及其工作,但教程仅删除了列图像中基于图像的名称。文件夹图像上的缩略图没有被删除。如何删除图像以及缩略图?请帮忙。 这是存储功能。

if ($request->hasFile('image'))
        {
            $file = $request->file('image');
            $image = $file->getClientOriginalName();
            $destination = public_path() . '/galeri/';
            $successUploaded = $request->file('image')->move($destination, $file->getClientOriginalName());
            
            if($successUploaded)
            {
                $extension = $file->getClientOriginalExtension();
                $thumbnail = str_replace(".{$extension}", "_thumb.{$extension}", $image);

                Image::make($destination . '/' . $image)
                ->resize(250, 170)
                ->save($destination . '/' . $thumbnail);
            }
            $photo->image = $image;
        }
        $photo->save();

这就是销毁函数

$photo = Photo::where('id', $id)->first();
        File::delete('galeri/'.$photo->image);
        if($photo){
            $photo->delete();
        }

【问题讨论】:

  • 您也知道缩略图名称。它是 originalImageName_thumb.originalExtension 。使用该信息也可以删除该文件。或者,您也可以将缩略图名称存储在数据库中,例如在名为thumbnail 的列中。然后用同样的逻辑删除$photo->thumbnail

标签: php laravel image crud thumbnails


【解决方案1】:

删除单个文件

 File::delete($filename);

删除多个文件

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

删除文件数组

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多