下面是我发现的动态生成当前目录中文件链接的php脚本。任何人都可以帮助我使用php脚本动态生成指向根目录中存在的所有目录,子目录和文件的链接。
<?php
$dir_open = opendir('.');
while(false !== ($filename = readdir($dir_open))){
if($filename != "." && $filename != ".."){
$link = "<a href='./$filename'> $filename </a><br />";
echo $link;
}
}
closedir($dir_open);
?>
答案 0 :(得分:0)
试试这个:
**更新**显示文件名而不是完整路径
<?php
$directory = new \RecursiveDirectoryIterator($path);
$iterator = new \RecursiveIteratorIterator($directory);
$files = array();
foreach ($iterator as $info) {
echo '<a href="' . $info->getFilename() . '">' . $info->getFilename() . '</a><br />';
}
答案 1 :(得分:0)
使用scandir获取一个目录中的所有文件和所有目录,然后使用is_dir将它们分开。
<?php
$fileAndDir = scandir('/home/me');
if($fileAndDir !== FALSE)
{
foreach($fileAndDir as $v)
{
if(is_dir($v))
$dirs[] = $v;
else
$files[] = $v;
}
}
print_r($files);
print_r($dirs);
对于所有子目标,请参阅此post
答案 2 :(得分:0)
你可以通过为每个目录安装index.php来实现这一点..所有人都有这个代码:
<强>的index.php 强>
<?php
$currentDir = dirname(__FILE__);
$subDir = scandir($currentDir);
$linkList = '<ul>';
foreach($subDir as $name)
{
$link = '<li>';
$myDirLink = '<a href="' . $name . '/index.php">' . $name . '</a>';
$myFileLink = '<a href="' . $name . '">' . $name . '</a>';
$link .= is_dir($name) ? $myDirLink : $myFileLink;
$link .= '</li>';
$linkList .= $link;
}
$linkList .= '</ul>';
echo $linkList;
?>