如何从 $_SERVER['PHP_SELF']; 中删除文件扩展名?

How do I remove file extension from $_SERVER['PHP_SELF'];

我正在使用一个脚本,该脚本使用由当前 URL 组成的 hyperlink 填充页面。因此,例如,如果访问者访问 mysite.com/thispage.php,那么它会自动在他们自己的页面上为他们创建一个 link。然后,他们可以随时单击 link 到 return 页面。

为了创建这个 link,我使用了一个变量 $link 来抓取当前页面 URL,像这样:

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];

我遇到的唯一问题是我从网站上的 URL 中删除了 php 扩展名,因此访问者不必输入它们(是的,我知道,原因,等等......我对此有特殊需要)但是,当创建 $link 时,添加了 .php 扩展名。

是否有另一种方法来编写它,这样它就不会获取扩展名,或者添加到字符串中以删除它的东西?

看看

pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME);

second argument to pathinfo() 从文件名中删除扩展名 (PHP >= 5.2)

希望对您有所帮助!