PHP生成创建文件长度限制

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';
}

image.png

具体参考资料:https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits

https://stackoverflow.com/questions/265769/maximum-filename-length-in-ntfs-windows-xp-and-windows-vista

文件名的各个组件(即沿路径的每个子目录和最终文件名)限制为255个字符,总路径长度限制为大约32,000个字符。

但是,在Windows上,您不能超过MAX_PATH值(文件为259个字符,文件夹为248个)。看到有关详细信息,请访问http://msdn.microsoft.com/en-us/library/aa365247.aspx

由于时间仓促,上面的参考信息和实际PHP代码没有深究,在此只是记录,方便下次查阅。

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论