이미지 높이와 너비를 정수 값으로 얻습니까?


98

PHP 함수 getimagesize 를 사용하려고했지만 이미지 너비와 높이를 정수 값으로 추출 할 수 없었습니다.

이것을 어떻게 할 수 있습니까?

답변:


197

다음과 같이 시도하십시오.

list($width, $height) = getimagesize('path_to_image');

다음 사항을 확인하십시오.

  1. 거기에 올바른 이미지 경로를 지정하십시오.
  2. 이미지에 읽기 권한이 있습니다.
  3. Chmod 이미지 디렉토리를 755로

또한 경로를 접두사로 지정 $_SERVER["DOCUMENT_ROOT"]하면 파일을 읽을 수 없을 때 도움이됩니다.


2
디렉토리에 777이 필요하지 않습니다.
찌를

@poke : 정말 100 % 확신하십니까?
Sarfraz

5
예. 777은 소유자, 그룹 및 모두에 대한 읽기, 쓰기 및 실행 권한을 의미합니다. 디렉토리에 액세스하려면 읽기 및 실행 권한이 필요하지만 쓰기 권한은 필요하지 않습니다. 그리고 당신은 또한 모든 사람에게 그 권리가 필요하지 않습니다. 755는 디렉토리 내부에 파일을 만들 필요가없는 모든 액세스에 적합합니다.
찌르기

1
흥미롭게도 디렉토리에 대한 실행 권한은 필요하지만 이미지 자체는 필요하지 않습니다 (644의 이미지와 함께 작동).
Lee Saxon

1
당신은 필요 allow_url_fopen을 사용할 수 있도록 설정 getimagesize()원격 이미지를.
VertigoRay

63
list($width, $height) = getimagesize($filename)

또는,

$data = getimagesize($filename);
$width = $data[0];
$height = $data[1];

13

getimagesize ()는 이미지 속성을 포함하는 배열을 반환합니다.

list($width, $height) = getimagesize("path/to/image.jpg");

너비와 높이를 얻거나

list($width, $height, $type, $attr)

더 많은 정보를 얻으려면.


7

이렇게 :

imageCreateFromPNG($var);
//I don't know where from you get your image, here it's in the png case
// and then :
list($width, $height) = getimagesize($image);
echo $width;
echo $height;

하지 작업을 수행 getimagesize() expects parameter 1 to be string, resource given, 함수는 getimagesize파일 이름 기대
lopisan

6

PHP getimagesize()는 데이터 배열을 반환합니다. 배열의 처음 두 항목은 관심있는 두 항목 인 너비와 높이입니다. 이를 얻으려면 반환 된 배열의 처음 두 인덱스를 요청하면됩니다.

var $imagedata = getimagesize("someimage.jpg");

print "Image width  is: " . $imagedata[0];
print "Image height is: " . $imagedata[1];

자세한 내용 은 설명서를 참조하십시오 .


3

getimagesize('image.jpg') 이 기능은 allow_url_fopen서버의 php.ini 파일 내에서이 1 또는 On으로 설정된 경우에만 작동하며 , 활성화되지 않은 ini_set('allow_url_fopen',1); 경우 getimagesize () 함수가 사용되는 파일 위에 사용해야합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.