2012-07-14 4 views
0

imagecreatefromjpeg(), imagecreatefrompng() 및 imagecreatefromgif()를 사용하여 일부 이미지 파일을 변환하고 변환 후 이미지의 파일 크기를 알고 싶습니다. 파일 크기 (imagecreatefrompng (파일 이름)) 및 getimagesize() 시도했지만 - 그들 중 아무 것도 작동하는 것. 다른 방법이 있습니까?이미지 크기 'imagecreatefrom___'로 변환 후

답변

1

filesize()getimagesize()은 파일 이름이 필요합니다. imagecreatefromwhatever()은 GD 파일 핸들을 반환합니다. 하나를 다른쪽에 넣을 수는 없습니다. 이미지를 파일에 저장 한 다음 새 파일에서 filesize를 사용하거나 출력 버퍼링 메커니즘을 사용하여 저장 함수의 출력을 캡처하고 strlen을 수행해야합니다.

$handle = imagecreatefromgif('original.gif'); 
imagepng($handle, 'new.png'); 
$size = filesize('new.png'); 

또는

$handle = imagecreatefromgif('original.gif'); 
ob_start(); 
imagepng($handle); 
$png = ob_get_clean(); 
$size = strlen($png); 

처음에 그 파일을 생성없이 최종 이미지의 크기를 결정하기위한 유용한 방법이 없다

- PNG/JPG 출력 압축 이미지의 내용에 크게 의존은 - '단순한'이미지는 '바쁜'이미지보다 훨씬 많은 이미지를 압축합니다.

0

내부 이미지 리소스에 파일 크기가 없습니다. "파일 크기"가 의미를 갖기 전에 최종 형식으로 이미지를 출력해야합니다.