В базе есть url изображений. Скрипт должен перебирать, загружать каждое на сервер в 3 папки: основная, копия, копия меньшего размера. Почему-то изображения создаются по 2 раза во всех папках.
namespace App\Http\Controllers;
use Image;
use App\car_parameter_models\car_image;
use App\car_parameter_models\car_equipment;
//use Intervention\Image\Facades\Image as ImageInt;
use Illuminate\Http\Request;
ini_set('max_execution_time', 10000);
class ImageController extends Controller
{
// сохранение картинок
public function store(Request $request)
{
$path = public_path().'/images_jpeg\/';
$path1 = public_path().'/images_small_jpeg\/';
$path2 = public_path().'/images_new\/';
$i = 0;
$images = car_image::where('path', NULL)->get();
$img;
info('Start download images. Now '.count($images).' images is not download.');
foreach ($images as $image) {
$url = $image->cc_url;
// загружаем изображение
$img = Image::make($url);
// создаем имя изображения
$filename = mb_strtolower( str_random(2).'/'.str_random(2).'/'.str_random(4), 'UTF-8');
// сохраняем изменения в бд
$image->path = $filename;
$image->width = $img->width();
$image->height = $img->height();
$image->save();
info('Start download images. Now '.count($images).' images is not download.');
// создаем каталог если он не создан
$dirname = dirname($path.$filename.'.jpg');
if (!is_dir($dirname))
{
mkdir($dirname, 0755, true);
}
// сохраняем файл
$img->save($path.$filename.'.jpg');
// создаем каталог если он не создан
$dirname2 = dirname($path2.$filename.'.jpg');
if (!is_dir($dirname2))
{
mkdir($dirname2, 0755, true);
}
// делаем копию в папку для необработанных
$img->save($path2.$filename.'.jpg');
// создаем каталог если он не создан
$dirname1 = dirname($path1.$filename.'.jpg');
if (!is_dir($dirname1))
{
mkdir($dirname1, 0755, true);
}
// делаем копию в папку для маленьких
$img->resize(320, null, function ($constraint) {
$constraint->aspectRatio();
});
$img->save($path1.$filename.'.jpg');
$i++;
}
info('End download images. Downloaded '.$i);
return 1;
}
}
Лог:
Start download images. Now 9 images is not download.
url : vehicle_images/vehicle/46416/7994656/1_orig.jpg?ts=1555513651 filename create : q3/9s/anzr
url : vehicle_images/vehicle/46416/7994656/2_orig.jpg?ts=1555513652 filename create : nc/qz/trqd
url : vehicle_images/vehicle/46416/7994656/3_orig.jpg?ts=1555513652 filename create : 3v/ue/abvj
url : vehicle_images/vehicle/46416/7994656/4_orig.jpg?ts=1555513652 filename create : tw/pa/xbf3
url : vehicle_images/vehicle/46416/7994656/5_orig.jpg?ts=1555513653 filename create : ah/h2/rnrz
url : vehicle_images/vehicle/46416/7994656/6_orig.jpg?ts=1555513653 filename create : xa/m2/ykpn
url : vehicle_images/vehicle/46416/7994656/7_orig.jpg?ts=1555513654 filename create : fr/6v/yqk0
Start download images. Now 2 images is not download.
url : vehicle_images/vehicle/46416/7994656/8_orig.jpg?ts=1555513654 filename create : lz/gh/bwnt
url : vehicle_images/vehicle/46416/7994656/8_orig.jpg?ts=1555513654 filename create : 5l/pu/twsl
url : vehicle_images/vehicle/46416/7994656/9_orig.jpg?ts=1555513654 filename create : 6a/ts/qxvo
End download images. Downloaded 9
url : vehicle_images/vehicle/46416/7994656/9_orig.jpg?ts=1555513654 filename create : 2a/5q/hw7q
End download images. Downloaded 2
Продвижение своими сайтами как стратегия роста и независимости