0

画像ファイル情報を配列にプッシュしています。キーワードが配列である場合を除いて、これは非常に単純です。これは私が今していることにうまく機能します。これが私の配列のサンプルです

$list[]=array(filename=>$file,width=>$w,height=>$h,caption=>$iptc["2#120"],keywords=>$iptc["2#025"]);

この配列を使用して、JavaScriptスライドショーに必要なhtmlを出力できます。

if($handle = opendir($dirname)) { 
  while(false !== ($file = readdir($handle))){ 
    if(eregi($pattern, $file)){ 
      //if this file is a valid image 
      $path = $dirname . "" . $file ; 
      $path2 = $dirname ."JPEG/" . $file ; 
      $size = getimagesize($path, $info); 
      $w = $size[0]; $h = $size[1]; 
      $iptc = iptcparse($info['APP13']); 

      if(in_array($key,$iptc["2#025"])){
        $list[]=array(
          filename=>$file,
          width=>$w,
          height=>$h,
          caption=>$iptc["2#120"],
          keyw‌​ords=>$iptc["2#025"]
        ); 
      } 
    } 
  } 
  closedir($handle); }

一意のキーワードが追加されるたびに1つの数値をカウントする、別の変数を配列に含めることができるようにしたいと思います。これにより、スライドショーの真ん中に直接移動できるようになります。これは、jsスライドショーを使用しているjsプラグインには、番号で参照されている場合にのみ直接リンクがあるためです。

すべてのキーワードの一意の配列を作成してから、一意の変数のそれぞれをカウントするために、ある種の複雑なifステートメントを作成する必要があると思います。

しかし、私はこれを行う方法がわかりません

助けてください

ありがとう

ジェレミー

4

1 に答える 1

0

あなたが探しているものを理解しているかどうかはわかりませんが、次のように聞こえます。

while(loop_conditions){
    $list[]=array(filename=>$file,width=>$w,height=>$h,caption=>$iptc["2#120"],keywords=>$iptc["2#025"]);
    foreach($iptc["2#025"] as $keyword){
        $list_map[$keyword]++;
    }
}
于 2012-09-21T22:57:20.707 に答える