}
$substr = substr($filename, 0, 2);
$imagePath = self::filepath($filename, 'images');
+
+ // Если оригинальный файл не существует, возвращаем заглушку
+ if (!$imagePath) {
+ return 'file_not_found';
+ }
+
$uploadDir = \Yii::getAlias('@uploads');
$uploadPathDir = 'uploads';
$resizePath = $uploadPathDir . "/images/resize/{$substr}/{$w}_{$h}_{$quality}";
$resizedFile = "{$resizedPath}/{$filename}";
if (!file_exists($imagePath ?? '')) {
- $filePath = self::src($filename);
- self::ResizeImage($filePath, $w, $h, $quality);
+ try {
+ $filePath = self::src($filename);
+ self::ResizeImage($filePath, $w, $h, $quality);
+ } catch (\Exception $e) {
+ // Если не удалось обработать изображение, возвращаем заглушку
+ return 'file_processing_error';
+ }
}
self::createDirectory($resizedPath);
if (!file_exists($resizedFile) && !empty($imagePath)) {
- ImageHelper::resizeImage($imagePath, $resizedFile, $w, $h, $quality);
+ try {
+ // Дополнительная проверка на возможность чтения файла
+ if (!is_readable($imagePath)) {
+ return 'file_not_readable';
+ }
+ ImageHelper::resizeImage($imagePath, $resizedFile, $w, $h, $quality);
+ } catch (\Exception $e) {
+ // Если не удалось обработать изображение, возвращаем заглушку
+ return 'file_processing_error';
+ }
}
return $resizedUrl;
}
$relaFileName = File::getRealName($image->image_id);
if (!empty($modelImage->size)) {
$imageThumbRow = File::getResizedImageByName($modelImage->filename, 100, 100);
+ // Если файл не найден на сервере или возникла ошибка обработки, показываем заглушку
+ if ($imageThumbRow === 'file_not_found' || $imageThumbRow === 'file_not_readable' || $imageThumbRow === 'file_processing_error') {
+ $imageThumbRow = 'broken_file-error';
+ $relaFileName = $imageThumbRow . '_' .$relaFileName;
+ }
} else {
$imageThumbRow = 'broken_file-size_zero';
$relaFileName = $imageThumbRow . '_' .$relaFileName;