2

在php中我想问如何从文件夹目录中一张一张地获取图像并显示在jquery滑块中我已经尝试过这个php代码,因为它没有按我想要的方式工作?

 <ul class="jcarousel-list">
 <li class="jcarousel-item">
 <?php 
 $directory = "data/uploads/topslider/";
 if (glob($directory . "*") != false)
 {
   $filecount = count(glob($directory . "*"));
 }
 else
 {
 } 
 $files_index = glob("data/uploads/"."top"."slider/*.*");
 for ($i=0; $i<$filecount; $i++)
 {
   $num2 = $files_index[$i];
 ?>
 <img src="<?php echo $num2;?>" width="50" height="50" alt="" /> <? 
 }?></li>
 </ul>

我想要这样的显示:

Image1 Image2 Image3......等等来自单个文件夹或目录

4

1 回答 1

2

有四项主要检查:

  1. 您的$directory路径相对于您当前在 PHP 中的工作目录是否正确?您可以通过执行临时echo getcwd();. 它需要返回“数据”文件夹的父目录才能使您的代码正常工作。

  2. data可以从网络上的当前页面访问该文件夹吗?例如,如果您手动从 URL 中删除页面(例如,index.php)并添加您知道存在于您的文件夹中的图像在data/uploads/topslider/someimage.png哪里,图像是否在浏览器中正确加载?如果没有,您需要更新在标签中构建属性的方式。someimage.pngtopslidersrcimg

  3. 您只是jcarousel-item为所有图像添加一个,这对我来说似乎不正确。我猜你应该为每张图片添加一个列表项。

  4. 您不需要调用 glob 两次来确定您必须处理多少个文件。只做一次foreach声明:

    echo '<ul class="jcarousel-list">';
    foreach(glob($directory . '*') as $filename) {
        echo '<li class="jcarousel-item"><img src="'.$filename.'" width="50" height="50" alt="" /></li>';
    }
    echo '</ul>';
    
于 2013-02-28T00:11:32.157 回答