Scandir在Joomla不起作用

时间:2013-10-21 20:28:39

标签: php joomla scandir

我正在尝试在Joomla中放置幻灯片,对于这个幻灯片我希望它获取文件夹的所有图像,我使用此代码:

$dir = '/images/slideshow/breda';
$files = scandir($dir);
print_r($files);
echo '<div class="flexslider">';
    echo '<ul class="slides">';
        foreach($files as $file) {
            echo '<li><img src="/images/slideshow/breda/';
            echo $file;
            echo '" alt="" title="" /></li>';
        }
    echo '</ul>';
echo '</div>';
print_r($file);

当我使用print_r时,它不会返回任何数据。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

您可能需要考虑使用Joomla编码标准:

$path = JPATH_SITE . '/images/slideshow/breda/';
$files = JFolder::files($path);
print_r($files);
echo '<div class="flexslider">';
    echo '<ul class="slides">';
        foreach($files as $file) {
            echo '<li><img src="/images/slideshow/breda/';
            echo $file;
            echo '" alt="" title="" /></li>';
        }
    echo '</ul>';
echo '</div>';
print_r($file);

我没有测试过我快速嘲笑的内容,所以请告诉我是否有效,我可以相应更新:)

希望这有帮助

答案 1 :(得分:0)

我在我的组件中使用了glob,它对我有用: http://php.net/manual/en/function.glob.php

使用示例:

$directory = 'images'.DS.'images'.DS;
$images = glob($directory . "{*.jpg,*.png,*.gif}",GLOB_BRACE);

foreach($images as $image){

Echo $image;

}

如果可能,最好使用Joomla编码标准。

希望它有所帮助。