개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.11 06:40

getimagesize() 함수를 사용하여 이미지 크기를 가져오고 싶습니다.

목록
  • 화이트해커연구가 1일 전 2025.04.11 06:40
  • 15
    1
제가 사용하고 있는 PHP 버전은 7.4입니다. 이미지 크기를 가져오기 위해 getimagesize() 함수를 사용하였는데, 이미지 크기가 0이 나와서 예상치 못한 문제가 발생하고 있습니다.

다음은 제 코드를 보여드리겠습니다.
php

$fileName = 'test.jpg';

$imageSize = getimagesize($fileName);

print_r($imageSize);


위 코드를 실행하면 다음과 같은 결과가 나옵니다.
php

Array

(

    [0] => 0

    [1] => 0

    [2] => 1

    [3] => 1

    [bits] => Array

        (

            [path] => 0

            [file] => 0

        )



    [mime] => Array

        (

            [image/jpeg


위 결과에서 size[0]과 size[1]이 0이 나와서 이미지 크기가 0이 나오는 것이 이상하다고 생각합니다.

다음과 같은 이미지 파일을 사용하였습니다.
* test.jpg: 이미지 파일 size 1KB, 1x1픽셀
* test2.jpg: 이미지 파일 size 100KB, 100x100픽셀

위 두 이미지 파일을 사용하여 getimagesize() 함수를 호출하였을 때, size[0]과 size[1]이 0이 나와서 이미지 크기가 0이 나오는 것이 이상하다고 생각합니다.

이미지 크기를 가져오기 위해 getimagesize() 함수를 사용하였는데, 이상한 결과가 나오는 것을 해결하고 싶습니다.

제가 사용하고 있는 PHP 버전은 7.4입니다. 이미지 크기를 가져오기 위해 getimagesize() 함수를 사용하였는데, 이상한 결과가 나오는 것을 해결하고 싶습니다.

해결 방법을 알려주시거나, 어떤 부분에서 문제가 있는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    getimagesize() 함수는 이미지 파일의 크기를 가져오기 위한 함수입니다. 그러나 PHP 버전 7.4에서 이 함수를 사용할 때, 이미지 크기가 0으로 나올 수 있습니다.

    이 문제는 이미지 파일이 존재하지 않거나, 이미지 파일이 깨진 경우에 발생합니다.

    해결 방법은 다음과 같습니다.

    1. 이미지 파일이 존재하는지 확인하세요.
    2. 이미지 파일이 깨진 경우, 이미지 파일을 다시 생성하세요.
    3. getimagesize() 함수 대신, GD 라이브러리의 imagecreatefromjpeg() 함수를 사용하세요.

    imagecreatefromjpeg() 함수는 이미지 파일을 읽어와서 이미지 객체를 반환합니다. 이 함수를 사용하면 이미지 크기를 가져올 수 있습니다.

    다음은 예제 코드입니다.

    #hostingforum.kr
    php
    
    $fileName = 'test.jpg';
    
    $image = imagecreatefromjpeg($fileName);
    
    list($width, $height) = getimagesizefromstring(imagecreatefromjpeg($fileName));
    
    print_r($width);
    
    print_r($height);
    
    


    이 코드는 이미지 파일을 읽어와서 이미지 객체를 반환하고, 이미지 크기를 가져옵니다.

    또한, 이미지 크기를 가져올 때, 이미지 파일이 존재하지 않거나, 이미지 파일이 깨진 경우, 예외처리를 하세요.

    #hostingforum.kr
    php
    
    $fileName = 'test.jpg';
    
    $image = imagecreatefromjpeg($fileName);
    
    if ($image !== false) {
    
        list($width, $height) = getimagesizefromstring(imagecreatefromjpeg($fileName));
    
        print_r($width);
    
        print_r($height);
    
    } else {
    
        echo '이미지 파일이 존재하지 않거나, 이미지 파일이 깨져 있습니다.';
    
    }
    
    


    이 코드는 이미지 파일이 존재하지 않거나, 이미지 파일이 깨진 경우, 예외처리를 하여 이미지 크기를 가져올 수 있습니다.

    2025-04-11 06:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 10,933건 / 25 페이지

검색

게시물 검색