Laravel删除原始图像和视网膜版本

时间:2015-04-14 20:48:17

标签: php laravel

我试图制作视网膜准备好的设计,所以当我上传图片时,它上传一个原始名称和低质量的图片,一个高质量的图片添加@ 2x到名称末尾。我的问题是如何删除它们,因为我只有原始名称和扩展名?这是我试过的:

$destination_path   = public_path() . 'storage/cover_photos/';

$old_cover = $destination_path . $this->cover_name;
$old_cover_retina = $destination_path . $old_cover->getClientOriginalName() . '@2x' . $this->old_cover->getClientOriginalExtension();

$ this-> cover_name返回字符串中的图像名称,如" name.jpg"。

我收到此错误:

Call to a member function getClientOriginalName() on a non-object

我需要将$ old_cover转换为对象还是另一种方式?

1 个答案:

答案 0 :(得分:1)

您可以使用pathinfo()获取有关特定文件的详细信息,包括文件名和扩展名。那么你应该能够做到这样的事情:

$fileinfo = pathinfo($destination_path . $this->cover_name);
$old_cover_retina = $destination_path . $fileinfo['filename'] . '@2x' . $fileinfo['extension'];