2017-02-08 19 views
1

Мой сценарий создает каталог для фотографий, добавления пользователей, но разрешения для этого сгенерированного каталога показывает, как r----x--t даже если я указать 777 в PHPРазрешение отказано в PHP

if (!is_dir($dir.$new_id)) { 
    $new_dir = $dir.$new_id.'/'; 
    mkdir($new_dir, 777, true); 
    $thumbnail_dir = $new_dir.'thumbnail/'; 
    if (!is_dir($thumbnail_dir)) { 
     mkdir($thumbnail_dir, 777, true); 
    } 
} 

Я должен упомянуть, что я нахожусь на hostinger бесплатно учетной записи, на которой запущена ОСЦ.

+0

пользователь WWW-данные не владельца или группы каталога, вам необходимо изменить его CHOWN команды – Fky

ответ

0

временно установите ваш umask на ноль, umask действует как набор разрешений, которые приложения не могут устанавливать на файлы. Источник: http://php.net/manual/en/function.umask.php

$old = umask(0); 
    if (!is_dir($dir.$new_id)) { 
     $new_dir = $dir.$new_id.'/'; 
     mkdir($new_dir, 0777, true); 
     $thumbnail_dir = $new_dir.'thumbnail/'; 
     if (!is_dir($thumbnail_dir)) { 
      mkdir($thumbnail_dir, 0777, true); 
     } 
    } 
    umask($old); 
    if ($old != umask()) { 
    die('An error occurred while changing back the umask'); 
    } 
+0

То же самое происходит, каталог еще на г ---- х - т – Ernestas

+0

и с 'mkdir ($ new_dir, 0777, true); chmod ($ new_dir, 0777); '? –

+0

Пользователь www-data не принадлежит владельцу или группе каталогов, вам нужно изменить его командой chown – Fky