我试图创建一些目录是这样的:PHP mkdir问题!
@mkdir("photos/$cat/$sku", 0777, true)
它创建与0777权限的第一个目录,但是当它创建第二个是使用000,因为它是烫发,因此它无法创建第三。
这是一个解决方法吗?
谢谢, Richard。
我试图创建一些目录是这样的:PHP mkdir问题!
@mkdir("photos/$cat/$sku", 0777, true)
它创建与0777权限的第一个目录,但是当它创建第二个是使用000,因为它是烫发,因此它无法创建第三。
这是一个解决方法吗?
谢谢, Richard。
这解决了这个问题:
$a = @mkdir("photos/$cat/", 0777);
@chmod("photos/$cat/", 0777);
$b = @mkdir("photos/$cat/$sku/", 0777);
@chmod("photos/$cat/$sku/", 0777);
但为什么不能使用的mkdir递归?
亲爱的是由于用户的权益,请检查用户,当您使用的mkdir功能创建的任何目录,
但它创造了第一个,为什么不休息? – richardalberto 2010-05-19 05:18:04
您是否在第一个创建的目录中创建子目录? – Chirag 2010-05-19 05:25:12
您是否尝试过chmod
荷兰国际集团的目录?
mkdir("photos/$cat", 0777, true);
chmod("photos", 0777);
chmod("photos/$cat", 0777);
mkdir("photos/$cat/$sku", 0777);
chmod("photos/$cat/$sku", 0777);
是的,类似的东西刚刚发现问题......但不完全像这样... – richardalberto 2010-05-19 05:25:39
我这样做,它完美的作品:
if (!is_dir($path)) {
$dirs = explode('/', $path);
$i = 0;
$subdir = '';
foreach ($dirs as $dir) {
if($i > 0){$dir = '/' . $dir;}
$subdir .= $dir;
if(!is_dir(DIR_CACHE . $subdir)){@mkdir(DIR_CACHE . $subdir);@chmod(DIR_CACHE . $subdir, 0777);}
$i++;
}
}
因此,所有你需要做的就是定义你的路径($ PATH =照片/ $猫/ $ SKU)
你尝试过创建它们的目录一次一个? – 2010-05-19 04:42:07
请原谅我的无知,但@符号是什么?此外,该脚本为我工作...也许别的东西正在进行。 – Jukebox 2010-05-19 04:50:45
也不起作用。刚刚尝试过。创建第一个,但在第二个和第三个发生相同。 – richardalberto 2010-05-19 04:55:29