new JImage:图像文件不存在

时间:2017-02-14 11:33:44

标签: joomla joomla3.0

我尝试调整图片大小如下

<?php
    $file = htmlspecialchars($product->image);
    $image = new JImage($file);
    $properties = JImage::getImageFileProperties($file);
    $resizedImage = $image->resize(108, 108, true);
    //definition of mime
    $resizedImage->toFile(htmlspecialchars($product->image), $type);
?>
    <img src="<?php print $product->image ?>"/>

但第2行会导致错误

  

0图像文件不存在。

文件存在且代码

<img src="<?php print $product->image ?>"/>

显示图像(没有用于调整大小的代码)。

如果我尝试将路径硬编码为此图像

new JImage(JPATH_ROOT.'/components/com_jshopping/files/img_products/thumb_goods-11.jpg');

这不会导致错误。

但是,

下方会显示一条警告消息
  

警告:   imagejpeg(http://localhost/svark/components/com_jshopping/files/img_products/thumb_goods-11.jpg):   无法打开流:HTTP包装器不支持可写   C:\ xampp \ htdocs \ svark \ libraries \ joomla \ image \ image.php中的连接   在第985行

我使用Joomla 3.6.5和JoomShopping 4.15.1。

2 个答案:

答案 0 :(得分:1)

您需要一个绝对路径进行编辑,不能使用http。

要使用绝对路径,请更改此

new JImage(JPATH_ROOT.'/components/com_jshopping/files/img_products/thumb_goods-11.jpg');

new JImage(JPATH_BASE.'/components/com_jshopping/files/img_products/thumb_goods-11.jpg');

答案 1 :(得分:0)

试试这个:

events