假设我在webhost上有一个名为sebis_files的文件夹,这个文件夹包含一些文件,可能是图片,文档......
我想在单独的页面上返回此文件夹的内容,例如:
$row = get dir host/sebis_files*//everything
for ( $row !== 0){ //for every valid file
echo $row . "<br/>"; //return name of file
}
答案 0 :(得分:1)
您可以使用opendir
和readdir
。这是一个细分:
为了安全起见,我们使用__DIR__
来创建相对于当前脚本目录的路径:
$dir = __DIR__ . '/sebis_files';
接下来我们打开目录来读取它的条目。
我们调用readdir
,它将返回'resource'对象,如果$dir
不是可读目录,则调用false:
if ($dh = opendir($dir))
{
目录已成功打开。
我们现在在该目录上调用readdir
。我们使用opendir的返回值,这是一个神秘的“资源”对象,它将让PHP知道我们正在阅读的目录。
每当我们打电话给readdir
时,它都会给我们目录中的下一个条目。如果没有其他条目,readdir
将返回false:
while ( ($entry = readdir($dh)) !== false)
{
我们已经读了一个目录$entry
:$dir
内的文件或子目录的名称。所以,它不是一个完整的路径名。让我们打印它的名字,以及它是一个目录还是一个文件。我们将使用is_file
和is_dir
,但我们需要传递完整路径名(因此为“$ dir / $ entry”):
if ( is_dir( "$dir/$entry" ) )
echo "Directory: $entry<br/>";
else if ( is_file( "$dir/entry" ) )
echo "File: $entry<br/>";
}
我们完成了目录,让它关闭它以释放资源:
closedir($dh);
}
但如果$dir
无法打开阅读怎么办?我们打印一个警告:
else
echo "<div class='warning'>cannot open directory!</div>";
答案 1 :(得分:1)
您需要查看this
<?php
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?>
答案 2 :(得分:0)
您可以使用glob功能执行此操作:
$dir = "/your/dir/";
if(file_exists($dir))
{
foreach (glob("$dir*") as $file)
{
if(is_file($file))
{
echo basename($file) . "<br />";
}
}
}