【问题标题】:Get current filename PHP [duplicate]获取当前文件名 PHP [重复]
【发布时间】:2014-12-04 14:02:28
【问题描述】:

如何使用 PHP 获取当前文件名?

如果我在 URL 上:

website.com/content/content.php
or
website.com/content/content.php?get=get

我只想得到:

content.php

仅此而已。但我发现的所有内容都返回如下: -“website.com/content/content.php”
-“/content/content.php”

提前致谢。

【问题讨论】:

  • 一次,您可以获得整个链接名称并在/ 上展开并使用数组中的最后一个值:)
  • 您要查找的关键字是basename

标签: php file filenames


【解决方案1】:

用途:

basename($_SERVER['SCRIPT_FILENAME'])

Reference

【讨论】:

  • 对我来说返回:C:/Wamp/www/folder/folder/content.php
  • 答案已更新,请检查。
  • 谢谢,我得等几分钟才能“接受答案”。
  • 好的,请慢慢来。
  • @user2953063,请选择一个答案作为解决方案。
【解决方案2】:

使用basename

echo basename(__FILE__); //it's return content.php

http://php.net/manual/en/function.basename.php

<?php
echo "1) ".basename("/content/content.php", "").PHP_EOL;
echo "2) ".basename("/content/content.php", ".php").PHP_EOL;
echo "3) ".basename("/content/content").PHP_EOL;
echo "4) ".basename("/content/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>
//output 
1) content.php
2) content
3) content
4) content
5) .
6) 

【讨论】:

    【解决方案3】:

    你可能见过:

    $_SERVER['SCRIPT_FILENAME'] // for example: /dir/dir/dir/script.php
    

    $_SERVER['PHP_SELF'] // as above but not safe
    

    我最喜欢的:

    basename(__FILE__) // script.php
    

    basename() 函数只返回脚本的文件名,没有任何目录。您也可以将其与任何其他输入一起使用:

    basename($_SERVER['SCRIPT_FILENAME']) // outputs: script.php
    

    我更喜欢避免使用$_SERVER 变量,所以我使用魔法变量__FILE__

    【讨论】:

      【解决方案4】:

      或者你可以使用

      echo __FILE__;

      这是magic constant(点击查看更多信息)

      这将像你想要的那样返回带有 .php 的值。检查一下!

      【讨论】:

      • 这也返回:对我来说,这返回:C:/Wamp/www/folder/folder/content.php
      • __FILE__ 本身返回从根目录到当前文件的完整路径。检查我的答案link
      猜你喜欢
      • 2016-12-14
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      相关资源
      最近更新 更多