CakePHP保存缩略图图像错误(无法打开)

时间:2011-08-04 20:16:11

标签: cakephp image-processing image-manipulation

我使用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}}

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您需要为imagejpeg()提供一个文件名,并且您只给出了路径,正如错误消息所示。将其更改为

imagejpeg($imageThumb, 'files/project_images/thumbs/'.$imageName['Image']['name'], 100);

或者你想要的文件名。