PHP:列出目录中类型的文件并链接到它们

PHP:列出目录中类型的文件并链接到它们,php,Php,我有密码 $directory = "C:/My file path"; $phpfiles = glob($directory . "*.html"); foreach($phpfiles as $phpfiles) { echo $phpfiles; } 但是我该如何更改它,使它不只是列出文件,而是实际链接到它们?首先,不要在foreach()中使用相同的变量名。你可以像这样链接到文件 foreach($phpfiles as $phpfile) { echo "<a href=$

我有密码

$directory = "C:/My file path";
$phpfiles = glob($directory . "*.html");

foreach($phpfiles as $phpfiles)
{
echo $phpfiles;
}

但是我该如何更改它,使它不只是列出文件,而是实际链接到它们?

首先,不要在foreach()中使用相同的变量名。你可以像这样链接到文件

foreach($phpfiles as $phpfile)
{
echo "<a href=$phpfile>".basename($phpfile)."</a>";
}
foreach($phpfiles作为$phpfile)
{
回声“;
}
$phpfile
包含文件的完整路径(例如:/home/eray/Desktop/test.html)


basename()
仅从路径返回文件名
basename($phpfile)
的输出是
test.html
。如果您只想打印
test
(没有
.html
扩展名),您可以使用以下命令:
basename($phpfile,.html”)
谢谢,@aSeptik。

假设链接可以通过web服务器访问,那么您需要一个不同于计算机的根路径进行web访问。而且,你的预言是错误的。第二个变量必须是单变量(至少与第一个变量不同)。因此,假设您的web服务器将文件路径视为有效的站点路径:

$rootPath = "/MyFilePath";
foreach ($phpfiles as $phpfile)
{
    echo "<a href=\"$rootPath/$phpfile\">$phpfile</a>";
}
$rootPath=“/MyFilePath”;
foreach($phpfiles作为$phpfile)
{
回声“;
}
$files=glob(“*.html”);
回显“
    ”。内爆(“”,数组映射('sprintf',数组填充(0,计数($files),“
  • ,$files,$files))。
”;
这没问题“eray”

$phpfile包含文件的完整路径(例如: /home/eray/Desktop/test.html)basename()只返回文件名 从路径。basename($phpfile)的输出是test.html。如果你想 仅打印测试(不带.html扩展名),您可以使用: basename($phpfile,.html)谢谢@aSeptik

如何删除。链接中的php扩展和

例如: http//example.com/dir1/file.php**

(末尾没有out.php)



谢谢

basename($phpfile,.html')是的,您也可以使用它。如果您不想打印文件的扩展名(我的意思是
.html
),这是否回答了如何链接到它们的问题?这个问题不是如何做,问题是我如何更改它,使它不只是列出文件,而是实际链接到它们?这是代码echo“”;这是代码echo“”,很好,但部分代码a href=$phpfile>,显示了与php扩展的链接。我需要一些帮助,以保留从链接的扩展。
$files = glob("*.html");
echo '<ul>'.implode('', array_map('sprintf', array_fill(0, count($files), '<li><a href="%s">%s</a></li>'), $files, $files)).'</ul>';