4

ユーザーが写真をアップロードできる写真コミュニティ ( www.jungledragon.com ) があります。私のプラットフォームは PHP/CodeIgniter です。

アップロード プロセスの一環として、私は既に PHP のexif_read_data関数を使用して EXIF 情報を読み取っていますが、これは正常に機能します。カメラの詳細を読み、情報タブに表示します。

その上、ユーザーは写真をアップロードした後、Web サイトで写真のタイトル、説明、およびタグを手動で設定する必要があります。ただし、Lightroom などの画像管理プログラムでこれらのフィールドを管理するユーザーもいます。そちらも読めたらアップするのが楽しくなりそうです。

「キャプション」を読み取るように EXIF の読み取りを既に改善しました。これにより、ユーザーはアップロード後に画像のタイトルを設定する必要がなくなりました。今、私は行き詰まっているキーワードを読みたいと思っています。Lightroom の画像の部分的なスクリーンショットを次に示します。

ここに画像の説明を入力

メタデータは読めますが、キーワードはどうすれば読めますか? メタデータ内にないという事実は、それがまったく可能かどうか疑問に思いますか? exif_read_data を使用して取得できるすべての値 (ANY_TAG、IFD0、EXIF、APP12) を読み取ろうとしましたが、キーワードが見つかりません。

何かご意見は?

4

3 に答える 3

6

示唆されているように、メタデータを読み取る別の方法を使用する必要がある場合があります。

http://www.foto-biz.com/Lightroom/Exif-vs-iptc-vs-xmp

画像キーワードは、EXIF ではなく IPTC に保存される場合があります。iptc を読み取るための標準的なプラットフォームの方法があるかどうかはわかりませんが、簡単なグーグルでこれを示しています

http://php.net/manual/en/function.iptcparse.php

于 2011-08-13T22:46:10.560 に答える
1

exif データの exif_read_data() よりもはるかに包括的なライブラリであるPELを使用してみてください。

于 2011-08-13T21:52:14.747 に答える
1

長い調査の結果、lightroom によって jpg ファイルにエクスポートされたキーワードを取得する解決策を見つけました。

$image = getimagesize($imagepath, $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    $keywordcount = count($iptc["2#025"]);
    for ($i=0; $i<$keywordcount; $i++)
    { 
        echo "keyword : " . $iptc["2#025"][$i] . "<br/>";
    }
}
于 2018-03-23T22:22:39.063 に答える