【问题标题】:Make a menu with the names of the files in a link使用链接中的文件名制作菜单
【发布时间】:2013-10-21 00:57:28
【问题描述】:

我有一个菜单,我可以在其中获取目录中文件的名称并将它们放入菜单中。 这是我使用的代码:

<ul>
    <?php   foreach(glob("overzicht/projects/{*.php,*.html}", GLOB_BRACE) as $file) {
                echo "<li><a>".pathinfo($file, PATHINFO_FILENAME)."</a></li>";
         } 
    ?>
</ul>

现在我想在菜单中获取一个链接,所以 li 会是这样的

<li><a href="filename.php"> filename </a></li>

我试过了,但它不起作用

<ul>
    <?php   foreach(glob("overzicht/projects/{*.php,*.html}", GLOB_BRACE) as $file) {
                echo "<li><a href="".pathinfo($file, PATHINFO_FILENAME).".php">".pathinfo($file, PATHINFO_FILENAME)."</a></li>";
            } 
    ?>          
</ul>

我做错了什么或者我为什么要这样做?

编辑

我还希望菜单的第一个字母是大写字母。这也可以吗?

【问题讨论】:

    标签: php menu glob pathinfo


    【解决方案1】:

    链接

    您的代码的问题是您没有在echo 中正确转义引号"...

    foreach(glob("./path/to/file/{*.ext}", GLOB_BRACE) as $file) {
        echo "<li><a href=\"".pathinfo($file, PATHINFO_FILENAME).".php\">".pathinfo($file, PATHINFO_FILENAME)."</a></li>";
    }
    

    使用单引号 '

    foreach(glob("./path/to/file/{*.ext}", GLOB_BRACE) as $file) {
        echo '<li><a href="'.pathinfo($file, PATHINFO_FILENAME).'.php">'.pathinfo($file, PATHINFO_FILENAME).'</a></li>';
    }
    

    首字母大写

    至于问题的第二部分,如果您只想将第一个字母设为大写(如 ali A 建议的那样),您可以使用 php 函数 ucfirst。如果你想把文件名放在标题大小写,那么你可以使用ucwords

    $a = "filename";
    $b = "this file name";
    
    echo ucfirst($a); // Filename
    echo ucwords($a); // Filename
    echo ucfirst($b); // This file name
    echo ucwords($b); // This File Name
    

    【讨论】:

      【解决方案2】:

      首字母大写可以使用:ucfirst()

      对于您的路径信息,请确保 $file 不为空。在此处发布错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-20
        • 1970-01-01
        • 1970-01-01
        • 2018-12-30
        • 2022-01-13
        • 2021-02-14
        • 1970-01-01
        相关资源
        最近更新 更多