我正在尝试设置动态自动填充幻灯片,但我不明白我的代码有什么问题。我知道两个代码分开工作 - 我测试了它们。其中一个代码适用于非动态相关目录。至于动态方面,我试了一下(没有任何CSS或其他任何东西,文件夹中的所有图片都会出现)。
我知道我的编码方式肯定存在问题,但我不能指责我做错了什么。我知道它与我在幻灯片div中包含的PHP方面有关,类名为“box_skitter box_skitter_large”。
我的代码如下(它全部在身体中):
<?php
//path to directory to scan.
$directory = "images/";
//get all image files with a .jpg extension.
$images = glob("" . $directory . "*.jpg");
$imgs = '';
// create array
foreach($images as $image){ $imgs[] = "$image"; }
//shuffle array
shuffle($imgs);
//select first 20 images in randomized array
$imgs = array_slice($imgs, 0, 20);
?>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".box_skitter_large").skitter();
});
</script>
<div class="box_skitter box_skitter_large">
<ul>
<li>
<?php
//display images
foreach ($imgs as $img) {
echo "<img src='$img' />";
}
?>
</li>
</ul>
</div>
答案 0 :(得分:0)
因为我在代码格式和布局上有点OCD,所以你需要多余的编码部分,而这些部分是不需要的:
<?php
//this assumes the path is <current PHP file location>/images/<image files>
$directory = "images/";
//get all image files with a .jpg extension.
$images = glob( $directory . "*.jpg");
$imgs = array(); //this may have been causing you problems, view below...
// create array
foreach($images as $image){ $imgs[] = $image; }
unset($image);
//shuffle array
shuffle($imgs);
//select first 20 images in randomized array
$imgs = array_slice($imgs, 0, 20);
?>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".box_skitter_large").skitter();
});
</script>
<div class="box_skitter box_skitter_large">
<ul>
<li>
<?php
//display images
foreach ($imgs as $img) {
echo "<img src='".$img."' />";
}
unset($img);
?>
</li>
</ul>
</div>
有什么不对的是你确定$imgs = '';
设置了$ img是字符串类型,然后在foreach
循环中设置了{{1}这暗示$imgs[] =
属于数组类型。现在试试....