2017-02-14 17 views
0

Я пытаюсь изменить размер изображения, как показано ниженового jКачество изображения: Файл изображения не существует

<?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 \ библиотеки \ Joomla \ образ \ image.php на линии 985

Я использую Joomla 3.6.5 с JoomShopping 4.15.1.

ответ

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'); 
0

Попробуйте это:

// Set the path to the file 
$file = '/Absolute/Path/To/File'; 

// Instantiate our JImage object 
$image = new JImage($file); 

// Get the file's properties 
$properties = JImage::getImageFileProperties($file); 

// Declare the size of our new image 
$width = 100; 
$height = 100; 

// Resize the file as a new object 
$resizedImage = $image->resize($width, $height, true); 

// Determine the MIME of the original file to get the proper type for output 
$mime = $properties->mime; 

if ($mime == 'image/jpeg') 
{ 
    $type = IMAGETYPE_JPEG; 
} 
elseif ($mime = 'image/png') 
{ 
    $type = IMAGETYPE_PNG; 
} 
elseif ($mime = 'image/gif') 
{ 
    $type = IMAGETYPE_GIF; 
} 

// Store the resized image to a new file 
$resizedImage->toFile('/Absolute/Path/To/New/File', $type); 

 Смежные вопросы

  • Нет связанных вопросов^_^