我使用WebTechNick的文件上传插件将图像保存在CakePHP网站上。那部分工作得很好。我正在projects_controller
add
我的Unable to open 'files/project_images/thumbs' for writing: Is a directory
操作中循环浏览上传的文件并尝试创建和保存缩略图。缩略图创建顺利,但在尝试将图像保存到缩略图目录时出现此错误。
for($i=0; $i<=2; $i++){
$path = 'files/';
$imageName = $this->Project->Image->read('name', $imageStartingId);
$fullPath = $path . $imageName['Image']['name'];
list($width, $height) = getImageSize($fullPath);
$ratio = $width/$height;
$thumbnailHeight = $thumbnailWidth/$ratio;
//resample
$imageThumb = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);
$image = imagecreatefromjpeg($fullPath);
imagecopyresampled($imageThumb, $image, 0,0,0,0, $thumbnailWidth, $thumbnailHeight, $width, $height);
imagejpeg($imageThumb, 'files/project_images/thumbs', 100);
$imageStartingId--;
}
我的文件,project_images和拇指都被编码为777,所以我不知道为什么我会收到“无法打开”的错误。我的完整代码如下。
{{1}}
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
您需要为imagejpeg()
提供一个文件名,并且您只给出了路径,正如错误消息所示。将其更改为
imagejpeg($imageThumb, 'files/project_images/thumbs/'.$imageName['Image']['name'], 100);
或者你想要的文件名。