我试图制作视网膜准备好的设计,所以当我上传图片时,它上传一个原始名称和低质量的图片,一个高质量的图片添加@ 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转换为对象还是另一种方式?
答案 0 :(得分:1)
您可以使用pathinfo()获取有关特定文件的详细信息,包括文件名和扩展名。那么你应该能够做到这样的事情:
$fileinfo = pathinfo($destination_path . $this->cover_name);
$old_cover_retina = $destination_path . $fileinfo['filename'] . '@2x' . $fileinfo['extension'];