Я пытаюсь генерировать и масштабировать изображение для эскизов, масштабирование изображения не имеет проблем и при использовании
image_save($_image) // Works Fine
(с использованием той же папки для замены) этот код не имеет проблем, проблема начинается, когда я пытался сохранить изображения в другой папке назначения с использованием целевого параметра:
image_save($_image, $destination) //throws errors
то возникает ошибка:
Предупреждение: imagejpeg (C:\xampp\htdocs\drupal-devel\sites\default\files): не удалось открыть поток: Permission denied в image_gd_save() (строка 284 из C:\xampp\htdocs\drupal-devel\modules\система\image.gd.inc).
Я работаю в Windows xampp и использую функцию is_write
PHP, возвращаю true, без проблем с разрешениями.
Я пытался какое-то время, и я не знаю, что происходит, никаких проблем с разрешениями.
Это мой код:
$destination = 'public://gallery/thumbs/';
$filepath = drupal_get_path('module', 'gallery_blueprint') . '/img/large/1.jpg'
// Someplace before function
file_prepare_directory($destination, FILE_CREATE_DIRECTORY);
_generate_thumb($filepath,$destionation,300,NULL);
// Function code
function _generate_thumb($filepath, $destination_path, $width = NULL, $height = NULL) {
$_img = image_load($filepath);
$scaled = image_scale($_img, $width, $height); // Return true
$result = image_save($_img, $destination_path); //Error occurs whit destination path
return $result;
}
Это глупый ответ, но он будет написан.
функция image_save()
когда вы проходите, перебрасывает $ image_save()
папку, она не записывает имя по умолчанию, наконец вам нужно написать окончательный абсолютный путь имени, имя файла требуется или выбрасывается.
Warning: imagejpeg(C:\xampp\htdocs\drupal-devel\sites\default\files): failed to open stream: Permission denied in image_gd_save() (line 284 of C:\xampp\htdocs\drupal-devel\modules\system\image.gd.inc).
//finally you need to write whole filepath
image_save($_img, $finalname_path) //$filname_path = public://gallery/thumbs/1.jpg