读取所有*.html文件,并将其作为可点击(https)-PHP添加到下拉列表中
我正在编写一个代码,允许读取具有HTML扩展名的目录中的所有文件。这些文件放置在下拉列表中。在那一刻,我有一段代码,使它,但我需要多一点 代码如下:读取所有*.html文件,并将其作为可点击(https)-PHP添加到下拉列表中,php,html,Php,Html,我正在编写一个代码,允许读取具有HTML扩展名的目录中的所有文件。这些文件放置在下拉列表中。在那一刻,我有一段代码,使它,但我需要多一点 代码如下: <?php $files = glob("archive/*.{html}", GLOB_BRACE); echo '<select name="file">'; foreach($files as $file) { echo '<option>
<?php
$files = glob("archive/*.{html}", GLOB_BRACE);
echo '<select name="file">';
foreach($files as $file)
{
echo '<option>' . basename($file) . '</option>';
}
echo '</select>';
?>
我需要列表中的名称不具有HTML扩展名,单击它后,HTML将在同一选项卡中打开。如何添加以HTML文件名结尾的完整URL:
单击“site.com/archive/”+“example.html”打开此文件?在重新加载页面后,是否有如列表所示的choosen选项
我是PHP的新手,我一直在与之斗争
提前感谢您的建议
的属性值传递(例如:/archive/lorem ipsum.html
)。请注意,它是vhost根的相对路径,不一定是PHP脚本的相对路径
location.href
)添加到所需的值
document.querySelector('select[name=file]')).addEventListener('change',(event)=>{
location.href=event.target.value;
});
要在单击文件后打开该文件,使用JavaScript比PHPThank更有意义。它工作得很好。我只有一个问题。如果x目录的路径是:“site.com/a/b/c/archive/”,那么我应该如何包含该路径?现在的结果是“site.com/archive/example.html”@user3770989如果循环中所有文件的路径都相同,您可以将选项value
属性设置为value=“/a/b/c/”.$file.”“
太好了!再次感谢您的支持。我还有很多东西要学,但这是值得的。
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<select name="file">
<option></option>
<?php
$files = glob("archive/*.{html}", GLOB_BRACE);
foreach($files as $file)
{
echo '<option value="/' . $file . '">' . basename($file) . '</option>';
}
?>
</select>
<script>
document.querySelector('select[name=file]').addEventListener('change', (event) => {
location.href = event.target.value;
});
</script>
</body>
</html>