从目录中逐个获取图像

时间:2013-02-27 23:52:12

标签: php javascript jquery jquery-slider

在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 Imag2 Image3 ......等单个文件夹或目录

1 个答案:

答案 0 :(得分:2)

有四件事要检查:

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

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

  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>';