원격 이미지에 대한 getimagesize 성능을 어떻게 최적화할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-10-29 08:06:30
원래의
395명이 탐색했습니다.

How can I optimize getimagesize performance for remote images?

원격 이미지에 대한 getimagesize 성능 가속화

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">$start = microtime(true);

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

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

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

$stop = round(microtime(true) - $start, 5);

echo $width." x ".$height." ({$stop}s)";</code>
로그인 후 복사

테스트에서 처음 32KB의 이미지 데이터를 가져오는 것은 놀라운 성능 향상을 제공했습니다.

640 x 480 (0.20859s)
로그인 후 복사

이 접근 방식은 원격 이미지의 크기를 결정하는 데 필요한 시간을 크게 줄여줍니다. 대규모 데이터 세트를 처리하는 데 이상적입니다.

위 내용은 원격 이미지에 대한 getimagesize 성능을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿