我想在域名后获取不含扩展名和任何查询字符串的网站文件名。
我尝试使用基名进行解析,但是如果用户输入? .php之后,输出显示不正确。
https://example.com/customers/NameIWant.php 返回:NameIWan
https://example.com/customers/NameIWant.php?someting 返回:NameIWan.php?someting
$url= basename($_SERVER['REQUEST_URI'], '.php' . $_SERVER['QUERY_STRING'])
此$ url我将使用它查询MySQL。
我不需要URL或任何代码中的查询,只需当前文件的名称即可。
答案 0 :(得分:1)
您可以使用parse_url()
和basename()
仅获取文件名:
<?php
$url = 'https://example.com/customers/NameIWant.php?someting';
// /customers/NameIWant.php
$path = parse_url($url, PHP_URL_PATH);
// NameIWant
$filename = basename($path, '.php');
(用$url = 'https://example.com/customers/NameIWant.php?someting';
替换$url = $_SERVER['REQUEST_URI'];
)