Я пытаюсь создать папку, а затем другую папку в ней, используя PHP.
Если это структура каталогов, у меня есть
/home/site (owner : user1)
Теперь я создаю папку, используя
mkdir("/home/site/newdir",0777); (user : apache)
Создается каталог / home / site / newdir, но пользователь этого каталога – « apache »,
Теперь, делая
mkdir("/home/site/newdir/anotherdir",0777);
не создает другой каталог внутри newdir.
Пожалуйста помоги. Я думаю, что это проблема владельца. Я также не могу изменить владельца, используя chmod () . Владелец остается тем же.
Что может быть причиной этого?
РЕДАКТИРОВАТЬ :
<?php error_reporting(E_ALL); mkdir("./m",0777); // works mkdir("./m/v",0777); // doesnt work
И никаких ошибок на странице.
var_dump(is_writeable("./m")) // returns bool(true)
EDIT: Это исправлено. Для других, которые могут столкнуться с одной и той же проблемой, из-за того, что безопасный режим PHP включен. Все еще не знаете причину того, что именно делает безопасный режим, который не позволяет создавать вложенные каталоги.
Но теперь это работает. Спасибо всем за чтение.
Режим в каталоге, созданный mkdir()
, зависит от вашего текущего umask, поэтому chmod()
не работает для вас.
Пытаться:
$old_mask = umask(0); mkdir("/home/site/newdir/anotherdir",0777); umask($old_mask);