PHP生成创建文件名最大长度和磁盘格式有关
实际项目代码
$saveName = trim(preg_replace('#[\\\/\:\*\?"<>\|]#u','', $saveName)); $saveName .='.docx'; $saveName=$dirname.'/'.iconv('utf-8','GB2312//IGNORE',$saveName); //其实文件名也有限制的,255字符限制的 if(strlen(__DIR__.'/'.$saveName)>=255){ $saveName=$dirname.'/'.$row['id'].'.docx'; }
具体参考资料:https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits
文件名的各个组件(即沿路径的每个子目录和最终文件名)限制为255个字符,总路径长度限制为大约32,000个字符。
但是,在Windows上,您不能超过MAX_PATH
值(文件为259个字符,文件夹为248个)。看到有关详细信息,请访问http://msdn.microsoft.com/en-us/library/aa365247.aspx。
由于时间仓促,上面的参考信息和实际PHP代码没有深究,在此只是记录,方便下次查阅。
如果本文对你有帮助,欢迎打赏本站