【问题标题】:php how to specify a relative path to all files inside a folder?php如何指定文件夹内所有文件的相对路径?
【发布时间】:2014-08-23 09:00:06
【问题描述】:

假设我有一个名为“test”的文件夹,在这个文件夹中我有一个名为“example.php”的文件现在,该文件的相对路径将是:“/test/example.php”

但是,有没有办法为文件夹内的所有文件创建相对路径。因此,例如,我需要创建一个适用于特定文件夹内任何文件的函数,而不是创建此文件夹中每个文件的相对路径列表。我可以只创建一个指向文件夹的相对路径,然后该函数将对该文件夹中的每个文件执行操作。

我试过这个:“/test/”,我也试过这个:“/test”,但它不起作用。任何建议都将受到高度赞赏。

谢谢。

编辑:更具体地说,我需要在标题中创建一个链接,该链接将根据当前页面以不同方式显示。因此,例如,如果当前页面是 home.php 或 about.php,则标题中的链接应为:“contacts” 但如果当前页面为 shop.php 或 staff.php,则标题中的链接应为: “价格” 。因此,我为标头创建了一个 php 包含文件,并在其中创建了一个 if/else 语句:

<?php if($currentpage==$type1) { ?>

    <a href="http://example.com/contacts.php">contacts</a>

  }else if (currentpage==$type2) { ?> 

    <a href="http://example.com/prices.php">prices</a>

<?php } ?>

然后,我将所有 type1 页面放在文件夹“type1”中,并将所有 type2 页面放在“type2”文件夹中。然后在每个页面文件上我添加了这段代码:

<?php
     $currentpage = basename($_SERVER['SCRIPT_FILENAME']);
     $type1="/type1/";
     $type2="/type2/";
?>   

【问题讨论】:

  • 你能显示一些代码吗?我不太确定你想做什么。
  • @oliakaoil 我已经对问题添加了一个编辑,所以你可以看看,谢谢
  • @halloei 我已经尝试了您链接中的所有建议,但它仍然对我不起作用......无论如何,谢谢。

标签: php


【解决方案1】:

scandir("/test/") 函数将返回所需文件夹中所有文件的数组。比你可以迭代槽数组来捕获里面的所有文件(和文件夹)。

【讨论】:

    【解决方案2】:

    如果您需要确定当前执行脚本的直接父文件夹,您可以根据您当前的环境执行以下操作:

    $immediate_parent = '';
    $ruri_parts = explode('/' , $_SERVER['REQUEST_URI'] );
    array_pop( $ruri_parts );
    
    if( count( $ruri_parts ) )
      $immediate_parent = array_pop( $ruri_parts ); 
    

    【讨论】:

    • 我有 50 多页,所以每页会增加 50 多行代码。如果你把所有这些加在一起,我将有超过 2500 行额外的代码,我认为,应该有一个最简单的解决方案......谢谢
    • 所以你想根据请求的php文件的直接父文件夹确定$current_type的值?
    • 是的,没错,我的意思是这样可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多