我通过Windows资源管理器创建了一个文件夹,但is_dir
返回FALSE
。
失败的路径:
ficheiros/dinamicos/multimedia/imagem/areas/galerias/actividades/professores/iii-xxxxxxxx-xxxxxxxx-xx-xxxxxxxxxxx-xxx-xxxxxxxx-abcdefg/__fmhidden__681d75e470b4fd52f7d3b468b8ce7b5b/__fmhidden__b14a7b8059d9c055954c92674ce60032
这个没有失败:
ficheiros/dinamicos/multimedia/imagem/areas/galerias/actividades/professores/iii-xxxxxxxx-xxxxxxxx-xx-xxxxxxxxxxx-xxx-xxxxxxxx-a/__fmhidden__681d75e470b4fd52f7d3b468b8ce7b5b/__fmhidden__b14a7b8059d9c055954c92674ce60032
我的代码过去几个月完美无缺地工作。调试后,我发现问题出在mkdir
/ is_dir
上。奇怪的是,只有当路径长度大于218个字符(绝对值为247)时才会发生。
is_dir
和mkdir
(在Windows环境中)的路径长度是否有限制?
答案 0 :(得分:1)
在Windows中,文件路径的字符限制为260(有一些例外),因此PHP mk_dir
和is_dir
函数可能无法正常工作。
请参阅:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath