我正在尝试为缩略图生成和缩放图像,缩放图像没有问题,并且在使用时
image_save($_image) // Works Fine
(使用相同的文件夹替换)此代码没有问题,当我尝试使用目标参数将图像保存到另一个目标文件夹时,问题就出现了:
image_save($_image, $destination) //throws errors
然后发生错误:
警告:imagejpeg(C:\ xampp \ htdocs \ drupal-devel \ sites \ default \ files):无法打开流:image_gd_save()中的权限被拒绝(C:\ xampp \ htdocs \ drupal-devel的第284行) \模块\ SYSTEM \ image.gd.inc)。
我正在使用PHP xampp并使用PHP的is_write
函数,返回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;
}
答案 0 :(得分:0)
这是一个愚蠢的答案,但会写出来。
函数image_save()
当你传递$ destination文件夹时,它默认不写名字,最后你需要写一个最终的绝对名字路径,文件名是必需的还是抛出的。 / p>
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