动态生成指向当前目录中的目录、子目录和文件的链接的PHP脚本

动态生成指向当前目录中的目录、子目录和文件的链接的PHP脚本,php,Php,下面是我发现的php脚本,它可以动态生成指向当前目录中存在的文件的链接。你们中的任何人都可以帮助我使用php脚本动态生成指向根目录中所有目录、子目录和文件的链接 <?php $dir_open = opendir('.'); while(false !== ($filename = readdir($dir_open))){ if($filename != "." && $filename != ".."){ $link = "<a href

下面是我发现的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);
?>

试试这个:

**更新**以显示文件名而不是完整路径

<?php
$directory = new \RecursiveDirectoryIterator($path);
$iterator = new \RecursiveIteratorIterator($directory);
$files = array();
foreach ($iterator as $info) {
    echo  '<a href="' . $info->getFilename() . '">' . $info->getFilename() . '</a><br />';    
}
试试这个:

**更新**以显示文件名而不是完整路径

<?php
$directory = new \RecursiveDirectoryIterator($path);
$iterator = new \RecursiveIteratorIterator($directory);
$files = array();
foreach ($iterator as $info) {
    echo  '<a href="' . $info->getFilename() . '">' . $info->getFilename() . '</a><br />';    
}
用于获取一个目录中的所有文件和目录,然后使用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);
用于获取一个目录中的所有文件和目录,然后使用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);

您可以通过为每个目录设置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;
?>

您可以通过为每个目录设置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;
?>


嘿,这将显示整个路径。我只想让它显示目录名,你能帮我修改代码吗?谢谢你更新代码。我想为所有目录、子目录和文件生成链接。使用此代码,我只能打印文件。请给我一个使用php列出目录中所有文件夹、子文件夹和文件的解决方案。我的文件夹结构类似于此主目录Dir1 SubDir1 File1 File2 SubDir2 File3 File4 Dir2 SubDir3 File5 File6 SubDir4 File7 file8,显示整个路径。我只想让它显示目录名,你能帮我修改代码吗?谢谢你更新代码。我想为所有目录、子目录和文件生成链接。使用此代码,我只能打印文件。请给我一个使用php列出目录中所有文件夹、子文件夹和文件的解决方案。我的文件夹结构类似于主目录Dir1 SubDir1 File1 File2 SubDir2 File3 File4 Dir2 SubDir3 File5 File6 SubDir4 File7 file8我同意,但是我试图在根目录中使用一个index.php获得相同的输出。这是可能的吗?是的,我同意,但我正试图用根目录中的一个index.php获得相同的输出。可能吗?