我想得到一个域名后,没有扩展名的网站文件名和任何查询字符串。
我尝试使用basename进行解析,但如果用户放入?在.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或任何代码中查询,只需要当前文件的名称。
发布于 2019-05-21 15:47:52
您只能使用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 = $_SERVER['REQUEST_URI'];替换$url = 'https://example.com/customers/NameIWant.php?someting'; )
https://stackoverflow.com/questions/56233204
复制相似问题