Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Предупреждение Array to string conversion в error.log


Xren

Recommended Posts

Здравствуйте, постоянно появляется ошибка в error.log, пробовал гуглить и пытаться понять в чем дело, но так и не получилось  :

PHP Notice:  Array to string conversion in \catalog\model\tool\image.php on line 15

 

Собственно код данного файла (функция ресайз), начиная с 14 строчки :

public function resize($filename, $width, $height, $type = "") {
if (!file_exists(DIR_IMAGE . $filename) || !is_file(DIR_IMAGE . $filename)) {
return;
} 

$info = pathinfo($filename);

$extension = $info['extension'];

$old_image = $filename;
$new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . $type .'.' . $extension;

if (!file_exists(DIR_IMAGE . $new_image) || (filemtime(DIR_IMAGE . $old_image) > filemtime(DIR_IMAGE . $new_image))) {
$path = '';

$directories = explode('/', dirname(str_replace('../', '', $new_image)));

foreach ($directories as $directory) {
$path = $path . '/' . $directory;

if (!file_exists(DIR_IMAGE . $path)) {
@mkdir(DIR_IMAGE . $path, 0777);
}
}

list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);

if ($width_orig != $width || $height_orig != $height) {
$image = new Image(DIR_IMAGE . $old_image);
$image->resize($width, $height, $type);
$image->save(DIR_IMAGE . $new_image);
} else {
copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
}
}

return $this->getImageUrl($new_image);

} 

 Увы не в моих силах понять что же не так работает, поэтому прошу помощи знающих. 

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
  • 3 weeks later...
  • 10 months later...

(предположительно) Такая ошибка может возникать, если передаваемый функции resize() параметр $filename не  строка, а массив.

 

Т.е. нужно смотреть код, предшествующий вызову функции resize().

 

Или перед строкой 15 временно добавьте строку отладочной печати 

echo serialize($filename);

и покажите результат ее работы здесь

Надіслати
Поділитися на інших сайтах


(предположительно) Такая ошибка может возникать, если передаваемый функции resize() параметр $filename не  строка, а массив.

 

Т.е. нужно смотреть код, предшествующий вызову функции resize().

 

Или перед строкой 15 временно добавьте строку отладочной печати 

echo serialize($filename);

и покажите результат ее работы здесь

 

Это я заметил делает какой -то vqmod допил...  встречал не только в resize.

Аккуратнее с костылями vqmod, иногда кривые руки разработчиков подсовывают вот такие "сюрпризы". 

У себя в модуле поставил проверку где только можно из-за таких костылей

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.