質問

背景: っていうの格付けとはAdobe橋CS3のクリエイティブ-コモンズのメタデータツールキットのためのphpなしに成功。私は利用共用ホスティングいお持ちでない聴を再コンパイルphpの異なるモジュールです。

はphpのコードを利用するもの読み込みに使用する格付けに埋まっている。jpgファイルとは何ですか?だったのでこれはxmp(xml形式の内のファイルです。

役に立ちましたか?

解決

私の投稿もこちらの場合には他の誰かがいてsimiliar問題を読み込みこのthread.ここで私が見つかり:
Windows Vista 追加の格付けは、exif部ファイルに埋め込まれた
Adobe橋 加部のjpgファイルを取得したデータが含まれます、igor形式をサポートしています。Xml+データ構造と呼ばれxmpファイルです。んな加工はファイルとAdobe橋することもなかなかできませんのxmpデータのメタデータです。

利用は、クリエイティブ-コモンズ-メタデータツールキットができたの格付を以下のコードです。このコードはDrupalモジュールは、参照される変数はDrupalの設定:variable_get()は、システムを変更機能を読み込む変数からperssistentデータの店。

include_once("PHP_JPEG_Metadata_Toolkit_1.11/JPEG.php");
  include_once("PHP_JPEG_Metadata_Toolkit_1.11/Photoshop_File_Info.php");
  include_once("PHP_JPEG_Metadata_Toolkit_1.11/EXIF.php");
  include_once("PHP_JPEG_Metadata_Toolkit_1.11/XMP.php");

  $photodir = variable_get('rotate_images_sourcefiles_dir',"sites/default/files/imageNodes");

  $rating_threshold = variable_get('rotate_images_rating_threshold',3);
  $allImages=dir($photodir);
  $filenames = scandir($photodir);

  foreach($filenames as $filename){

    $rating = null;
    $info = pathinfo($filename);
    if (strtolower($info['extension'])=="jpg"){
      //  First try to get the rating from the EXIF data, this is where it is stored by Windows Vista
      $exif = get_EXIF_JPEG( $photodir . "/" . $filename );
      $rating = $exif[0][18246]['Data'][0];

      $jpeg_header = get_jpeg_header_data($photodir . "/" . $filename );
      //  If no rating was found in the EXIF data, it may be in the Adobe format xmp section
      if ($rating == null){
        if($jpeg_header != false){
          $xmp = get_XMP_text($jpeg_header);
          $xmpArray = read_XMP_array_from_text($xmp);
          $rating = $xmpArray[0]['children'][0]['children'][0][attributes]['xap:Rating'];
        }   
      }
    }
  }

かったのを修正する必要がある EXIF_Tags.php ファイルのメタデータツールキットの追加追加のエントリをEXIFタグ配列の型になります。を報告しましたことを著者のものとは思えない彼は、常寂光モジュールの縮したものになっています。ソースはsourceforgeもしっかり身につけるたノウハウをパッチ.で手続きを必要とするものがある変更EXIF.php 自分のコードです。

'EXIF' => array (

// Exif IFD

18246 => array ( 'Name' => "Rating",
                'Type' => "Numeric" ), 

他のヒント

理論的には使用する場合 fgets あなたはそれを読むことができるはずです。このセクションがファイルへのバイトの観点からどこから始まるかを知っていれば役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top