2011-12-24 3 views
7

조작중인 이미지와 동일한 디렉토리에 스크립트를 보관하면 작동합니다. 결과 이미지 "foo.jpg"도 같은 위치에 생성됩니다.imagick의 writeImage() 함수를 사용하는 방법?

<?php 

$im = new imagick('image.jpg'); 
$im->thumbnailImage(200, 0); 
$im->writeImage("foo.jpg"); 

?> 

하지만 스크립트가 한 위치에 내가 함께 작업하고자하는 이미지가 다른에서 내가 원하는 위치가 어떻게 이러한 경로를 지정하는 방법에 다른 곳에있는 썸네일을 저장하는 경우 ?

이 같은 작동하지 않는 수행 :

$im = new imagick('path/to/image.jpg'); 
+0

PSR 규칙을 사용하는 경우 올바른 네임 스페이스 인 \ Imagick을 확인하십시오. 또는 'imagick'대신 대소 문자를 구분하는 'Imagick'이름을 확인하십시오. pathinfo(), file_exists(), is_writable() 또는 dirname()을 플래그로 참조하여 적절한 경로를 얻고 filename과 연결할 수도 있습니다. 그러나 어느 쪽이든 모든 파일을 가리키는 기본 디렉토리를 설정해야합니다. 그것은 당신에게 달려 있습니다. –

답변

5

는 일부 파일 시스템 문제 일 수 있습니다. 시도하고 첫번째 PHP에서 파일 포인터를 얻고 문제

확인
$fileHandle = fopen("path/to/image.jpg", "w"); 

그러면 Imagick 기능 (버전 6.3.6 이상)를 사용;

$im->writeImageFile($filehandle); 
+0

아마도 다음과 같이 선언해야합니다 : $ imagick = new Imagick ('path/to/image'); $ imagick-> writeImage ('path/to/image'); $ imagick-> close(); $ imagick-> destroy(); 모든 리소스를 해제합니다. –

관련 문제