$tmp = pathinfo('admin.php');
linux 服务器输出这个 Array ( [dirname] => / [basename] => admin.php [extension] => php )
windows 服务器输出是 Array ( [dirname] => / [basename] => admin.php [extension] => php [filename] => admin )而$tmp = pathinfo('admin.php?id=1');
[basename] => admin.php?id=1 [extension] => php?id=1 )
参数还要自己去掉的?

解决方案 »

  1.   

    pathinfo 只解析文件名,而你的 admin.php?id=1 是一个 URL
    你可以这样写
    $tmp = parse_url('admin.php?id=1');
    $tmp = pathinfo($tmp['path']);
    print_r($tmp);
      

  2.   

    pathinfo不同系统,输出是不一样的。
      

  3.   

    谢谢各位回答,自己搞定了不同服务器不同结果。
    empty($tmp['filename']) ? substr($tmp['basename'], 0, -strlen($tmp['extension'])-1) : $tmp['filename'];
    这样就一致了!