вторник, 11 апреля 2017 г.

PHP. Работа с файлами. Разрешения в PHP

В этом файле мы будем манипулировать файлом file_permissions.php


// определим владельца файла
echo fileowner('file_permissions.php'); // 0 // дает id пользователя

// Если установлен posix
$owner_id = fileowner('file_permissions.php');
$owner_array = posix_getpwuid($owner_id); // posix_getpwuid — Возвращает информацию о пользователе, используя его ID
echo $owner_array['name'];

// укажем файл, владельца которого нужно изменить, а затем нового владельца
chown('file_permissions.php', 'kevin');

// chown работает только тогда, когда php - superuser
// сделать сервер PHP супер пользователем - большая проблема безопасности

// fileperms — Возвращает информацию о правах на файл
echo fileperms('file_permissions.php'); // 033206 - это десятичное обозначение
echo "<br />";
// decoct — Переводит число из десятичной системы счисления в восьмеричную
echo decoct(fileperms('file_permissions.php')); // 100666
echo "<br />";

// здесь важны только последние 4 цифры
// отсекаем substr первые две цифры
echo substr(decoct(fileperms('file_permissions.php')), 2); // 0666
echo "<br />";
// chmod — Изменяет режим доступа к файлу
// К 777 в начало нужно добавить 0. Это нужно для PHP
chmod('file_permissions.php', 0444);

echo substr(decoct(fileperms('file_permissions.php')), 2);
echo "<br />";

// Но лучше делать так. Проверим можно ли этот файл читать или записывать
echo is_readable('file_permissions.php') ? 'yes' : 'no'; // yes
echo "<br />";
echo is_writeable('file_permissions.php') ? 'yes' : 'no'; // no
echo "<br />";

Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html