PHP: fileperms () значения и преобразовать их - PullRequest
4 голосов
/ 25 октября 2011

Вот что-то, чего я не понимаю:

Файл имеет разрешение 0644, которое, если я использую функции php´s fileperms (), возвращает 16804 как целое число, если я создаю var_dump (). Что / где находится отношение между ними и как я могу преобразовать, скажем, 0755, во что-нибудь fileperms (), которое вернулось бы для 0755.

THX

набор *

1 Ответ

5 голосов
/ 25 октября 2011

16804 - десятичная запись для восьмеричного числа 40644. Проверьте Пример # 2 руководства по PHP для значения этих значений.

40644 извлечено:

  • 4 - файл является каталогом
  • 0 - отступ для получения первого 4 на 5-й позиции
  • 6 - для чтения и записи для владельца
  • 4 - доступно для чтения только для группы
  • 4 - только для чтения в мире.

PHP распознает числа с начальным нулем как восьмеричное число. Если вам нужно преобразовать строку, содержащую 0755 или 755, в десятичное число, используйте octdec(). Функция реверса (десятичное в восьмеричное): decoct().

Если вам нужно изменить права доступа к файлу, используйте chmod(). Чтобы это работало, вы должны быть владельцем файла, в противном случае вы получите Отказано в разрешении Ошибка.

...