>  기사  >  백엔드 개발  >  PHP의 getimagesize 기능을 사용하여 원격 이미지 차원 추출 속도를 어떻게 높일 수 있습니까?

PHP의 getimagesize 기능을 사용하여 원격 이미지 차원 추출 속도를 어떻게 높일 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-04 01:25:03435검색

How can I speed up remote image dimension extraction with PHP's getimagesize function?

원격 이미지 크기 추출을 위해 PHP에서 getimagesize 가속화

PHP의 getimagesize 함수를 사용하여 원격 이미지 크기를 결정하는 작업은 큰 이미지 세트의 경우 느릴 수 있습니다. . 이 기사에서는 file_get_contents를 활용하여 크기 분석을 위해 이미지에서 바이너리 데이터의 일부를 검색하는 대체 접근 방식을 살펴봅니다.

이 방법을 사용하여 이미지 크기를 추출하려면 다음 함수를 구현합니다.

<code class="php">function ranger($url) {
    $headers = ["Range: bytes=0-32768"];

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($curl);
    curl_close($curl);
    return $data;
}</code>

다음으로, 다음 코드를 실행하여 원격 이미지의 크기를 검색합니다.

<code class="php">$url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg";

$raw = ranger($url);
$im = imagecreatefromstring($raw);

$width = imagesx($im);
$height = imagesy($im);

echo $width." x ".$height." ({$stop}s)";</code>

테스트 사례에서 이 접근 방식은 0.2초 이내에 원격 이미지의 크기를 산출했습니다.

참고: 이미지에서 더 많거나 적은 이진 데이터를 검색하려면 범위 매개변수("Range" 헤더에 있음)를 조정하세요. 특정 애플리케이션에 맞게 성능을 최적화하려면 다양한 범위로 실험해 보세요.

위 내용은 PHP의 getimagesize 기능을 사용하여 원격 이미지 차원 추출 속도를 어떻게 높일 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.