new JImage: The image file does not exist

  • 7 Ответов
  • 194 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

eugenex

new JImage: The image file does not exist
« : 13.02.2017, 22:17:33 »
Пытаюсь сделать ресайз картинки таким образом:
Код
<?php
$file = htmlspecialchars($product->image);
$image = new JImage($file);
$properties = JImage::getImageFileProperties($file);
$resizedImage = $image->resize(108, 108, true);
$mime = $properties->mime;
if ($mime == 'image/jpeg') {
$type = IMAGETYPE_JPEG;
}
elseif ($mime = 'image/png') {
$type = IMAGETYPE_PNG;
}
elseif ($mime = 'image/gif') {
$type = IMAGETYPE_GIF;
}
$resizedImage->toFile(htmlspecialchars($product->image), $type);
?>
<a href="<?php print $product->product_link ?>">
<img src="<?php print $product->image ?>"
alt="<?php print htmlspecialchars($product->name); ?>"
title="<?php print htmlspecialchars($product->name); ?>"/>
</a>

Строка $image = new JImage($file); вызывает ошибку
Цитировать
0
The image file does not exist.

Хотя файл существует и код
Код
	<img src="<?php print $product->image ?>"
alt="<?php print htmlspecialchars($product->name); ?>"
title="<?php print htmlspecialchars($product->name); ?>"/>
выводит изображение.


Re: new JImage: The image file does not exist
« Ответ #1 : 13.02.2017, 22:51:50 »
а что в переменной $file находится и какого типа?

*

eugenex

Re: new JImage: The image file does not exist
« Ответ #2 : 13.02.2017, 23:16:11 »
В $file находится путь к файлу, тип строка

Цитировать
string(113) "http://localhost/svark/components/com_jshopping/files/img_products/thumb_goods-11.jpg

Re: new JImage: The image file does not exist
« Ответ #3 : 14.02.2017, 00:48:41 »
Попробуйте использовать пути к файлам на сервере, к примеру так

Код
$image = new JImage(JPATH_ROOT.'/svark/components/com_jshopping/files/img_products/thumb_goods-11.jpg');
И посмотрите, что будет выдавать

*

eugenex

Re: new JImage: The image file does not exist
« Ответ #4 : 14.02.2017, 04:02:04 »
Код
new JImage(JPATH_ROOT.'/components/com_jshopping/files/img_products/thumb_goods-11.jpg');
Ошибки не вызывает.


Правда дальше появляется варнинг:

Цитировать
Warning: imagejpeg(http://localhost/svark/components/com_jshopping/files/img_products/thumb_goods-11.jpg): failed to open stream: HTTP wrapper does not support writeable connections in C:\xampp\htdocs\svark\libraries\joomla\image\image.php on line 985


*

eugenex

Re: new JImage: The image file does not exist
« Ответ #6 : 14.02.2017, 13:14:56 »
JPATH_ROOT выводит http://localhost ?
Нет, выводит C:\xampp\htdocs\svark

Re: new JImage: The image file does not exist
« Ответ #7 : 14.02.2017, 17:05:50 »
Так откуда localhost всплывает? И возможно стоит использоввать DIRECTORY_SEPARATOR вместо слешей.