如何递归使用PHP mkdir函数跳过现有目录并从string $pathname
// works fine if directories don't exist
mkdir($root_dir . '/demo/test/one', 0775, true);
// It will throw error - Message: mkdir(): File exists
mkdir($root_dir . '/demo/test/two', 0775, true);
解决方案是什么?
答案 0 :(得分:0)
如果目录已存在,请与is_dir
核对:
if(!is_dir($pathname)) {
mkdir($pathname, 0775, true);
}
答案 1 :(得分:0)
您的代码应该按原样运行,如果您按照@ chris85的说法第二次运行它,问题就会发生。建议您可以事先检查它们是否存在。
std::vector<Foo> values; // Neither the vector nor its elements are const
for (std::vector<Foo>::const_iterator it = values.cbegin(), it != values.cend(); ++it)
{
Foo const& foo = *it; // I may not try to modify foo
it->CallToNonConstMethod(); // Can't do this either
}