>  기사  >  백엔드 개발  >  PHP 및 Exif 확장을 사용하여 사진의 초점 정보를 추출하는 방법

PHP 및 Exif 확장을 사용하여 사진의 초점 정보를 추출하는 방법

PHPz
PHPz원래의
2023-07-28 18:45:181600검색

PHP 및 Exif 확장 프로그램을 사용하여 사진에서 초점 거리 정보를 추출하는 방법

소개:
디지털 사진의 인기와 함께 사람들이 사진을 찍는 수도 늘어나고 있습니다. 사진 애호가들에게는 사진의 메타데이터 정보를 이해하는 것이 매우 중요합니다. 이 기사에서는 독자가 사진을 더 잘 이해할 수 있도록 PHP 및 Exif 확장을 사용하여 사진의 초점 거리 정보를 추출하는 방법을 소개합니다.

1.Exif 데이터란 무엇인가요?
Exif라고도 불리는 Exchangeable Image File Format(Exchangeable Image File Format)은 디지털 사진 정보를 기록하기 위한 파일 형식입니다. 일부 저장 장치를 사용하여 초점 거리, ISO, 셔터 속도 등과 같은 사진의 촬영 매개변수 및 촬영 환경 정보를 기록합니다. PHP의 Exif 확장은 Exif 데이터를 쉽게 처리하고 추출할 수 있는 일련의 기능을 제공합니다.

2. Exif 확장 설치 및 구성
Exif 확장을 사용하기 전에 PHP가 확장 기능을 설치했는지 확인해야 합니다. 다음 명령어로 확인할 수 있습니다.

php -m | grep exif

'exif'가 보이면 Exif 확장 프로그램이 설치된 것입니다. 설치되지 않은 경우 다음 단계에 따라 설치할 수 있습니다.

  1. 터미널에서 다음 명령을 실행하여 Exif 확장을 설치합니다.

    sudo apt-get install php-exif
  2. php.ini 파일을 편집합니다.

    sudo nano /etc/php/7.4/cli/php.ini
  3. 찾기 다음 줄을 주석 해제하세요.

    ;extension=exif
  4. 파일을 저장하고 종료하세요.
  5. PHP 다시 시작:

    sudo service php7.4-fpm restart

3. 사진의 초점 거리 정보 추출
다음으로 다음 단계를 통해 사진의 초점 거리 정보를 추출하겠습니다.

  1. exif_example.php라는 PHP 스크립트를 만듭니다. 추가 사진은 스크립트와 동일한 디렉토리에 배치됩니다.
  2. 스크립트에서 먼저 EXIF_read_data() 함수를 통해 사진의 Exif 데이터를 읽고 이를 배열에 저장합니다:

    <?php
    $filename = 'example.jpg'; // 照片文件名
    $exif_data = exif_read_data($filename, 0, true);
    ?>
  3. 그런 다음 초점 거리 정보가 존재하는지 확인하고 인쇄합니다:

    <?php
    if (isset($exif_data['EXIF']['FocalLength'])) {
     $focal_length = $exif_data['EXIF']['FocalLength'];
     echo "照片的焦距为:{$focal_length}mm";
    } else {
     echo "未能获取照片的焦距信息。";
    }
    ?>

4. 실행 및 테스트
스크립트를 저장하고 터미널에서 다음 명령을 실행합니다.

php exif_example.php

초점 정보가 사진에 있으면 다음과 유사한 출력이 표시됩니다.

照片的焦距为:50mm

그렇지 않은 경우 사진에 초점 정보가 없으면 다음 출력이 표시됩니다.

未能获取照片的焦距信息。

5. 요약
PHP의 Exif 확장을 사용하면 사진의 초점 거리 정보를 쉽게 추출할 수 있습니다. 그러나 모든 사진에 초점 거리 정보가 포함되어 있는 것은 아닙니다. 따라서 사진을 처리할 때 이에 대비하고 예외를 처리해야 합니다. 이 기사가 PHP 및 Exif 확장을 사용하여 사진에서 초점 정보를 추출하는 방법을 이해하는 데 도움이 되기를 바랍니다. 즐거운 촬영 되세요!

위 내용은 PHP 및 Exif 확장을 사용하여 사진의 초점 정보를 추출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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