Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取所有*.html文件,并将其作为可点击(https)-PHP添加到下拉列表中_Php_Html - Fatal编程技术网

读取所有*.html文件,并将其作为可点击(https)-PHP添加到下拉列表中

读取所有*.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>

我正在编写一个代码,允许读取具有HTML扩展名的目录中的所有文件。这些文件放置在下拉列表中。在那一刻,我有一段代码,使它,但我需要多一点

代码如下:

<?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脚本的相对路径
  • 创建一个javascript事件侦听器,用于侦听所选值的更改
  • 在JS事件侦听器中,将重定向(在本例中我使用了
    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>