2015-09-30 2 views
2

Je voudrais de l'aide s'il vous plaît. J'ai ce script PHP dans mon constructeur Post_modelCodeIgniter - Message: mkdir(): Autorisation refusée sur Ubuntu

$dir = FCPATH . 'uploads' . DIRECTORY_SEPARATOR . 'posts'; 
if (!is_dir($dir)) { 
    mkdir($dir, 0755, true); 
} 

qui me montre cette erreur:

Severity: Warning 

Message: mkdir(): Permission denied 

L'idée principale est que le projet a la capacité de créer des utilisateurs et ces utilisateurs peuvent télécharger des images, ou créer des dossiers-albums qui sont stockés dans le dossier de téléchargement.

J'ai eu du mal à corriger cette erreur les derniers jours et je ne trouve pas de solution. J'ai essayé ce code et sur Windows et fonctionne très bien, mais pas sur Linux (Ubuntu 14.04)

+1

s'il vous plaît jeter un oeil ici http://stackoverflow.com/questions/5246114/php-mkdir-permission-denied-problem –

Répondre

0

Même si j'avais le même problème, j'ai essayé avec umask, cela a fonctionné. vous pouvez faire comme ceci,

$old = umask(0); 
mkdir($dir, 0755, true); 
umask($old); 
2

S'il vous plaît essayer chmod 777 -R. dans votre répertoire

0

Je vous suggère de créer manuellement le dossier 'upload de et lui donner 777 l'autorisation (non récursif), puis dans votre php scénario procédez comme suit:

if(!is_dir('./uploads/posts')) //create the folder if if does not already exists { mkdir('./uploads/posts',0755,TRUE); }

par cela, chaque fois que votre script tente de créer un nouveau répertoire, il aura la permission de le faire puisque vous créez le nouveau répertoire dans les téléchargements w il a 777.