我正在使用php灯箱(这一个 - http://www.fatbellyman.com/webstuff/lightbox_gallery/index.php)来自动显示缩略图和图像。我想在更大的灯箱图像上显示标题和图像描述,从单独的列表(文本文件?)中提取。如果可以在不使用最佳数据库的情况下执行此操作。
这是在我的画廊页面上:
<?php include 'lightbox_display_function.php'; ?>
<?php lightbox_display('apparel/soiled/icarus/', 'lightbox[icarus]'); ?>
这是lightbox_display_function.php:
<?php function lightbox_display($dir_to_search, $rel){
$image_dir = $dir_to_search;
$dir_to_search = scandir($dir_to_search);
$image_exts = array('gif', 'jpg', 'jpeg', 'png');
$excluded_filename = '_t';
foreach ($dir_to_search as $image_file){
$dot = strrpos($image_file, '.');
$filename = substr($image_file, 0, $dot);
$filetype = substr($image_file, $dot+1);
$thumbnail_file = strrpos($filename, $excluded_filename);
if ((!$thumbnail_file) and array_search($filetype, $image_exts) !== false){
echo "<a href='".$image_dir.$image_file."' rel='".$rel."'>
<img src='".$image_dir.$filename."_t.".$filetype."' alt='".$filename."' width='70' height='70' title='$filename'/>
</a>"."\n";
}
}
}
答案 0 :(得分:0)
你是否有一些示例代码,说明你现在如何构建页面,我不能将它们硬编码成某种关联数组?
将图像文件名称作为密钥,以便您可以将标题与必要的文件配对吗?
如果您发布到目前为止所发布的内容,我们可以查看并希望提出建议。
- 更新 -
在调用之前硬化页面的数组,并将数组作为参数包含在内,以便其中的元素与函数中的相应图像配对。
<?php include 'lightbox_display_function.php'; ?>
<?php
$titleArray=array();
$titleArray['RedCar.jpg']="Picture of red car";
$titleArray['BlueCar.jpg']="Picture of blue car";
$titleArray['GreenCar.jpg']="Picture of green car";
lightbox_display('apparel/soiled/icarus/', 'lightbox[icarus]',$titleArray);
?>
所以现在在函数中我们有信息可以使用
<?php function lightbox_display($dir_to_search, $rel,$titleArray){
$image_dir = $dir_to_search;
$dir_to_search = scandir($dir_to_search);
$image_exts = array('gif', 'jpg', 'jpeg', 'png');
$excluded_filename = '_t';
foreach ($dir_to_search as $image_file){
$dot = strrpos($image_file, '.');
$filename = substr($image_file, 0, $dot);
$filetype = substr($image_file, $dot+1);
$thumbnail_file = strrpos($filename, $excluded_filename);
$title="";
if (array_key_exists($filename, $titleArray)) { //check if the filename matches a key in the array
$title = $titleArray[$filename]; //match, so set $title to equal the title set for that image name in the array
}
if ((!$thumbnail_file) and array_search($filetype, $image_exts) !== false){
//At this point $title can be included in the echo or used in some fashion, put is paired up with the appropriate image.
echo "<a href='".$image_dir.$image_file."' rel='".$rel."'>
<img src='".$image_dir.$filename."_t.".$filetype."' alt='".$filename."' width='70' height='70' title='$filename'/>
</a>"."\n";
}
}
}
我没有测试过,但它应该给你一些工作,理论,如果没有别的。