php mkdir() не работает правильно
У меня есть этот код:
$a ="/Assets/ProductImages/oa/91/2239754/6/5151010073180_1_org_zoom.jpg";
$b ="/home/cfnic/domains/modmania.ir/public_html/image/Assets/ProductImages/oa/91/2239754/6/5151010073180_1_org_zoom.jpg";
$path = '';
$directories = explode('/', dirname($a));
foreach ($directories as $directory) {
$path = $path . '/' . $directory;
if (!is_dir('/home/cfnic/domains/modmania.ir/public_html/image/' . $path)) {
mkdir('/home/cfnic/domains/modmania.ir/public_html/image/' . $path, 0777,true);
}
}
это только создать каталог (активы) и (ProductImages), что я делаю неправильно?????
1 ответ
Если ваша цель - создать каталоги рекурсивно, вы можете использовать mkdir один раз. Это прототип функции взят из руководства по PHP
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
так что единственное, что вам действительно нужно, это:
mkdir('/home/cfnic/domains/modmania.ir/public_html/image'.dirname($a), 0777,true);
без foreach
петля.