Как я могу обновить несколько изображений в Laravel-6? - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу обновить несколько изображений в laravel. Когда я обновлю новые изображения в laravel, предыдущее изображение должно автоматически удаляться из папки. Вот мой код обновления для изображения ...

$thumbDirPath = date("Ymd").'/thumb/'.$chr;
$smallDirPath = date("Ymd").'/small/'.$chr;

if($r->hasFile('propertyImages')){
$propImage = [];
for ($v=0; $v < count($r->propertyImages); $v++) {
    $thums      = $r->propertyImages;
    $filnameSmall = 'small-'.uniqid($chr).'-'.$v.'.'.$thums[$v]->getClientOriginalExtension();
    $img = Image::make($thums[$v]->getRealPath());
    $img->resize(300, null, function ($constraint) {
        $constraint->aspectRatio();
    });
    $smallPath = public_path().'/'.$type.'/'.date("Ymd").'/small'.'/'.$chr.'/'.$filnameSmall;
    if (file_exists($smallPath)) {
     $this->removeImage($smallPath);
 }
 $img->save($smallPath);

 $optimizerChain = OptimizerChainFactory::create();
 $optimizerChain->optimize($smallPath);

 $filnameLarge = 'thumb-'.uniqid($chr).'-'.$v.'.'.$thums[$v]->getClientOriginalExtension();
 $img = Image::make($thums[$v]->getRealPath());
 $img->resize(1080, null, function ($constraint) {
    $constraint->aspectRatio();
});
 $thumbPath = public_path().'/'.$type.'/'.date("Ymd").'/thumb'.'/'.$chr.'/'.$filnameLarge;

 if (file_exists($thumbPath)) {
    $this->removeImage($thumbPath);
}
$img->save($thumbPath);
$optimizerChain->optimize($thumbPath);

$propImage[$v]['small'] = $filnameSmall;
$propImage[$v]['smallDirPath'] = $smallDirPath;
$propImage[$v]['large'] = $filnameLarge;
$propImage[$v]['thumbDirPath'] = $thumbDirPath;
}
}else{
$propImage = NULL;
}
...