fopen打开文件名过长文件可导致错误提示Permission denied

fopen打开文件错误提示Permission denied除权限问题有可能是打开的文件名过长,如下图错误提示

WT.jpg

经过多次测试发现:打开的文件(包括路径)总长度不能超过139,文件名长度不能超过43.具体长度是否受操作系统有关未知,也没有查询到具体资料,只是个人测试经验。

所以个人在对生成的文件名做了判断截取操作:

//限制总长度 进行截取
$fileimgname= mb_substr($fileimgname,0,139-mb_strlen($dirname.'/'.'_'.($key+1).".".$ext,'UTF8'));
//文件名长度有限制 进行再次截取
if (mb_strlen($fileimgname.'_'.($key+1).".".$ext,'UTF8')>43) {
    $fileimgname = mb_substr($fileimgname,0,43-mb_strlen('_'.($key+1).".".$ext,'UTF8'));
 }


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

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

喜欢 ()or分享