正常输出 sss资源.chm echo(basename('E:\\tech\\sss资源.chm')); 只输出 .chm echot(basename('E:\\tech\\资源.chm')); ----------------------- 在linux服务器上,不知道为什么不能basename取得 d:\duote\duote\1\fds.exe这种文件名 只好写一个替代的 function basename2($file) { $file = str_replace("\\\\","/",$file); $file = str_replace("//","/",$file); //echo $file; $pos = strrpos($file,"/"); if(false===$pos) $pos = strrpos($file,"\\"); return substr($file , $pos+1); }