Я бы хотел помочь. У меня есть этот PHP-скрипт внутри моего конструктора Post_model
$dir = FCPATH . 'uploads' . DIRECTORY_SEPARATOR . 'posts'; if (!is_dir($dir)) { mkdir($dir, 0755, true); }
который показывает мне эту ошибку:
Severity: Warning Message: mkdir(): Permission denied
Основная идея заключается в том, что проект имеет возможность создавать пользователей, и эти пользователи могут загружать изображения или создавать папки-альбомы, которые хранятся в папке uploads.
Я изо всех сил пытался исправить эту ошибку в последние дни и не могу найти решение. Я пробовал этот код и в Windows и отлично работает, но не на Linux (Ubuntu 14.04)
Попробуйте chmod 777-R. в вашем каталоге
Даже у меня была такая же проблема, я пытался с umask, это сработало. вы можете сделать так,
$old = umask(0); mkdir($dir, 0755, true); umask($old);
[ Как создать каталог в PHP / CodeIgniter ] ( http://codedpoint.16mb.com/index.php/viewCode?topic=Create%20Directory%20-%20CodeIgnitor )
Я предлагаю вам вручную создать папку «uploads» и дать ей разрешение 777 (не рекурсивное), а затем в вашем php-скрипте сделать следующее:
if(!is_dir('./uploads/posts')) //create the folder if if does not already exists { mkdir('./uploads/posts',0755,TRUE); }
тем самым каждый раз, когда ваш скрипт пытается создать новый каталог, у него будет разрешение на это, так как вы создаете новый каталог внутри загрузок с 777.