CakePHP ошибка сохранения миниатюры изображения (невозможно открыть) - PullRequest
1 голос
/ 05 августа 2011

Я использую плагин для загрузки файлов WebTechNick для сохранения изображений на моем сайте CakePHP.Эта часть работает отлично.Я работаю в своем projects_controller в действии add. Я перебираю загруженные файлы и пытаюсь создать и сохранить эскизы.Создание эскизов проходит хорошо, но я получаю эту ошибку при попытке сохранить изображения в каталоге миниатюр.

Unable to open 'files/project_images/thumbs' for writing: Is a directory

мои файлы, project_images и превью все синхронизированы с 777, поэтому я не понимаю, почемуполучить ошибку «невозможно открыть».Мой полный код ниже.

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--;         
            }

любая помощь очень ценится.Спасибо!

1 Ответ

1 голос
/ 05 августа 2011

Вам нужно дать imagejpeg() имя файла, и вы указали только путь, как говорится в сообщении об ошибке. Измените его на

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

или как вы хотите, чтобы имя файла было.

...