【发布时间】:2012-09-21 22:42:35
【问题描述】:
我正在将图像文件信息推送到数组中。 它非常简单,除了关键字有时也是一个数组。 这对我现在正在做的事情很有用。 这是我的数组的示例
$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"],
keywords=>$iptc["2#025"]
);
}
}
}
closedir($handle); }
我希望能够在数组中有另一个变量,当添加每个唯一关键字时,该变量将计数一个数字。这将允许我直接进入幻灯片的中间,因为我使用的 js 幻灯片的 js 插件只有在被数字引用时才具有直接链接
我想我需要创建一个包含所有关键字的唯一数组,然后使用某种复杂的 if 语句来计算每个唯一变量.....
但是我不知道该怎么做
请帮忙
谢谢
杰里米
【问题讨论】:
-
这里是完整的代码(是的,代码在循环中)
-
if($handle = opendir($dirname)) { while(false !== ($file = readdir($handle))){ if(eregi($pattern, $file)){ //如果这个文件是一个有效的图像 $path = $dirname . “”。 $文件; $path2 = $dirname ."JPEG/" 。 $文件; $size = getimagesize($path, $info); $w = $size[0]; $h = $大小[1]; $iptc = iptcparse($info['APP13']); if(in_array($key,$iptc["2#025"])){ $list[]=array(filename=>$file,width=>$w,height=>$h,caption=>$iptc[ "2#120"],keywords=>$iptc["2#025"]); } } } closeir($handle); }
-
K,所以代码很清楚,谢谢,我将它添加到帖子中,确保你下次这样做;)你的问题不太清楚关键字是什么、唯一变量和加一个数的过程确实有共同点。如果密钥在
$iptc["2#05"]数组中,您只需将图像详细信息添加到$list,您还声明这是有时也是一个数组。查看您的代码,您总是认为它是一个数组……希望您明白我的意思吗? :)