Почему мой сервер продолжает создавать новые файлы с разрешениями 0640 в моем PHP fwrite? - PullRequest
0 голосов
/ 29 сентября 2010

Я использую простую настройку fopen("w") и fwrite, чтобы записать новый файл на моем сервере. Недавно было произвольно назначено разрешение 0640 для этих файлов, что означает, что я не могу просматривать их из браузера. Но это происходит не каждый раз. Кто-нибудь может сказать мне, почему? Что мне здесь не хватает? Вот мой код:

if ($file=fopen("$filesDir/$yr/$mo/{$tempFile[0]}.xml","wb")) {
    if(fwrite($file,$output,strlen($output))) {
        $success="YES";
        $message="File successfully built.";
    } else {
        $message="Could not write XML file.";
    }
} else {
    $message="Could not open file.";
}

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Рискну предположить, что это может иметь какое-то отношение к umask или текущим разрешениям каталога, в котором вы создаете файл. Попробуйте добавить липкие группы в каталог и сохранить группу www-data или apache (в зависимости от вашей установки)

0 голосов
/ 29 сентября 2010

Он делает это по умолчанию, потому что PHP предполагает, что вы собираетесь снова прочитать файл.Или, в этом случае, напишите ему.Возможно, вы сможете изменить настройки по умолчанию в файле php.ini.

...