1. 文件名 出现特殊符号问题:
过滤 不可见字符 ( 空格、回车 等) preg_replace('/\s+/', '', $file_name)
获取 文件名 文件扩展名 使用 pathinfo() 函数不可使用 explode 暴力拆分 (避免 出现 .时导致 文件名处理有误)
获取文件扩展名 pathinfo($fileName , PATHINFO_EXTENSION);
获取文件名不包含扩展名时 不要使用 pathinfo($fileName , PATHINFO_FILENAME) (会出现莫名其妙的问题,例如 带#时 ,前面字符会被省略 ) 获取 文件名不包含扩展名 使用 substr($fileName,0,strrpos($fileName,"."));
2. 文件名包含 # 时 浏览器地址不兼容问题 在返回文件地址时针对 文件名进行 urlencode 编码 urlencode($name)