
Gmagick::write 메서드에 디렉토리 경로를 지정할 때 오류가 발생하는 이유는 디렉토리 경로에 슬래시 '/'가 포함되어 있기 때문입니다. PHP는 슬래시 '/'를 경로 구분자로 인식하지 않기 때문에, 경로를 지정할 때는 DIRECTORY_SEPARATOR 상수 또는 DIRECTORY_SEPARATOR를 사용하여 디렉토리 경로를 지정해야 합니다.
오류를 해결하기 위해서는 다음과 같이 코드를 수정해야 합니다.
#hostingforum.kr
php
$gm = new Gmagick();
$gm->read('원본이미지.jpg');
$gm->resizeImage(800, 600, Gmagick::FILTER_LANCZOS, 1);
$gm->setResolution(300); // 해상도 설정
$gm->setImageFormat('jpg'); // 이미지 포맷 설정
$gm->write('저장할 디렉토리/이미지.jpg');
또한, 디렉토리 경로를 지정할 때 DIRECTORY_SEPARATOR를 사용하여 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
$gm = new Gmagick();
$gm->read('원본이미지.jpg');
$gm->resizeImage(800, 600, Gmagick::FILTER_LANCZOS, 1);
$gm->setResolution(300); // 해상도 설정
$gm->setImageFormat('jpg'); // 이미지 포맷 설정
$gm->write(__DIR__ . DIRECTORY_SEPARATOR . '저장할 디렉토리' . DIRECTORY_SEPARATOR . '이미지.jpg');
이러한 방법으로 디렉토리 경로를 지정할 때 오류를 해결할 수 있습니다.
2025-05-13 21:14