デジタル写真の普及に伴い、撮影される写真の数は増え続けています。写真愛好家にとって、写真のメタデータ情報を理解することは非常に重要です。この記事では、写真をより深く理解できるように、PHP および Exif 拡張機能を使用して写真の焦点距離情報を抽出する方法を紹介します。
Exchangeable Image File Format (Exchangeable Image File Format) は、Exif と呼ばれ、デジタル写真情報を記録するためのファイル形式です。焦点距離、ISO、シャッタースピードなどの撮影パラメータと写真の環境情報が保存されます。PHP の Exif 拡張機能は、このデータの処理と抽出を容易にする一連の関数を提供します。
Exif 拡張機能を使用する前に、PHP に拡張機能がインストールされているかどうかを確認する必要があります。これは次のコマンドで確認できます。
php -m | grep exif「exif」が出力されていればインストールされています。インストールされていない場合は、次の手順に従ってインストールできます。
ターミナルで実行します:
sudo apt-get install php-exifphp.ini ファイルを編集します。
sudo nano /etc/php/7.4/cli/php.ini次の行を見つけてコメントを解除します。
;extension=exifファイルを保存して終了し、PHP を再起動します。
sudo service php7.4-fpm restartexif_example.php などの PHP スクリプトを作成し、写真を同じディレクトリに配置します。関数exif_read_data()を通じて写真の Exif データを読み取ります。
<?php
$filename = 'example.jpg'; // 写真ファイル名
$exif_data = exif_read_data($filename, 0, true);
?>焦点距離情報が存在するかどうかを判断し、出力します。
<?php
if (isset($exif_data['EXIF']['FocalLength'])) {
$focal_length = $exif_data['EXIF']['FocalLength'];
echo "写真の焦点距離は、:{$focal_length}mm";
} else {
echo "写真の焦点距離情報の取得に失敗しました。";
}
?>スクリプトを保存した後、ターミナルで実行します。
php exif_example.php写真に焦点距離の情報が含まれている場合は、次のように表示されます。
写真の焦点距離は、:50mmそうしないと、焦点距離情報が取得できない旨のメッセージが表示されます。
PHP の Exif 拡張機能を使用して写真の焦点距離情報を抽出するのは簡単ですが、すべての写真にその情報が含まれているわけではありません。写真を処理するときは、例外処理を行う必要があります。この記事の方法を使用すると、写真の学習や作品管理を容易にする写真のメタデータをすぐに取得できます。