【问题标题】:preg_replace HOW TO: remove from $_SERVER['SCRIPT_NAME'] everything .. but FILE namepreg_replace 如何:从 $_SERVER['SCRIPT_NAME'] 中删除所有内容 .. 但文件名
【发布时间】:2013-10-03 03:28:17
【问题描述】:

例如这是 $_SERVER['SCRIPT_NAME'] 输出:

/文件夹名/index.php

我想以 index.php 结尾

非常感谢! (ps。例如,我不需要以任何其他方式获取 index.php 名​​称:使用 basename(_FILE_) 效果很好,但如果放置则不行在包含文件中。如果我们尝试获取文件的文件名,它会告诉我包含文件名而不是包含在其中的文件名。)

【问题讨论】:

    标签: php preg-replace


    【解决方案1】:

    不需要正则表达式。使用basename():

    echo basename($_SEVER['SCRIPT_FILENAME']);
    

    basename() 将返回给定路径的文件名。输出:

    index.php
    

    【讨论】:

    • 不会像 basename(FILE) 那样在包含文件中执行基本名称???
    • 您可能还想知道有相反的版本:dirname()。它将返回不带文件名的路径。
    【解决方案2】:

    编辑: hek2mgl 有一个更好的答案。

    一种方法:

    $parts = explode( '/', $_SERVER['SCRIPT_NAME'] );
    $file_name = end( $parts );
    

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 2022-01-23
      • 2012-04-27
      • 1970-01-01
      • 2015-09-18
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多