我有以下代码:
$path=$_SERVER['DOCUMENT_ROOT'] . "/WOWSlider/data1/images";
$files= array_diff(scandir($path), array('..',"."));
$path2=$_SERVER['DOCUMENT_ROOT'] . "/WOWSlider/data1/images/thumbs";
$files2= array_diff(scandir($path2), array('..',"."));
foreach($files as $plaatje){
print("
<a href='WOWSlider/data1/images/$plaatje' class='highslide' onclick='return hs.expand(this)'>
<img src='WOWSlider/data1/images/thumbs/$thumbnail' alt='Highslide JS'
title='Click to enlarge' /></a>
<div class='highslide-caption'>
$plaatje
</div>
");
}
现在我需要这样的东西:
$path=$_SERVER['DOCUMENT_ROOT'] . "/WOWSlider/data1/images";
$files= array_diff(scandir($path), array('..',"."));
$path2=$_SERVER['DOCUMENT_ROOT'] . "/WOWSlider/data1/images/thumbs";
$files2= array_diff(scandir($path2), array('..',"."));
foreach($files as $plaatje){
foreach($files2 as $thumbnail){
print("
<a href='WOWSlider/data1/images/$plaatje' class='highslide' onclick='return hs.expand(this)'>
<img src='WOWSlider/data1/images/thumbs/$thumbnail' alt='Highslide JS'
title='Click to enlarge' /></a>
<div class='highslide-caption'>
$plaatje
</div>
");
}
}
但它不起作用。 它不会在屏幕上打印任何内容。
有人知道该怎么做吗?
我正在尝试制作一种相册。 $ plaatjes是照片,$缩略图是照片的缩略图。
由于缩略图的文件名不同,我需要在foreach中使用不同的变量,因此也需要在print()中使用。
我不想让文件名不同,因为如果我需要添加其他照片,我不需要在代码中做些什么。
答案 0 :(得分:0)
除非文件名彼此相关,例如
kittens.jpg -> kittens_thumb.jpg
额外的东西(_thumb
)是不变的,你无法以这种自动方式做任何事情。您必须手动构建一个将图像与缩略图相关联的列表。一旦你有了这个数组,那么你可以使用一个简单的foreach()。
使用“相关”文件名,您可以执行以下操作:
foreach($files as $file) {
$base = pathinfo($file, PATHINFO_BASENAME);
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo "real file: $base.$ext";
echo "thumb nail: {$base}_thumb.$ext";
}