scandir()用php从数组创建有序列表

时间:2012-11-30 18:06:01

标签: php scandir

阅读scandir(),在显示任何内容时遇到问题。

<?php
    $dir = 'http://www.universaldynamicmedia.com/sandbox/Images';
    $array = scandir($dir);
    foreach($array as $key => $value)
        {
            echo '<li><img src="' . $dir . $value . '" /></li>';
        }
?>

我认为我没有对目录做正确的事情而scandir()正在做其他事情,我以前做过,而且工作正常。

目录权限会导致问题吗?

2 个答案:

答案 0 :(得分:3)

**请注意,您不能使用URL,您必须有权访问文件夹/文件

SCANDIR():

$dir = "PATH_TO_DIRECTORY";
$exclude = array( ".","..","error_log","_notes" );
if (is_dir($dir)) {
    $files = scandir($dir);
    foreach($files as $file){
        if(!in_array($file,$exclude)){
            echo '<li><img src="' . $dir . $file . '" /></li>';
        }
    }
}

READDIR():

$dir = "PATH_TO_DIRECTORY";
$exclude = array( ".","..","error_log","_notes" );
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if(!in_array($file,$exclude))
                 echo '<li><img src="' . $dir . $file . '" /></li>';
        }
        closedir($dh);
    }
}?>

答案 1 :(得分:2)

scandir()仅适用于本地文件系统,您需要将其更改为:

$dir = '/path/to/document/root/sandbox/Images';