Мне интересно, когда рекомендуется использовать API файловой системы и полезно ли это вообще?
WordPress кажется немного непоследовательным, когда дело доходит до использования API файловой системы, он использует API только в нескольких местах при загрузке и распаковке файлов, и это не имеет большого значения для меня, я имею в виду, где именно его использовать когда есть много других ситуаций, когда функции файловой системы PHP используются для прямого доступа? Загрузка пакетов будет работать даже тогда, когда есть проблемы с правами собственности, однако я уверен, что эти «проблемы» не исчезнут через 5 минут, когда я использую любую из функций, которые используют, например, fwrite напрямую.
Так почему же я, как разработчик плагина / темы, забочусь об этом, когда половина функций WordPress, которые я использую, не полагается на API файловой системы, мой плагин / тема не будут работать в любом случае, не так ли?
Существует немного практического разделения на то, где WP может писать файлы, и если вызывается Filesystem API
. Возможно, было бы легче увидеть, что этот разрыв не является техническим, а административным.
Существует пространство пользователя .
Пользователи должны иметь возможность делать такие вещи, как создание вложений и не должны иметь учетные данные администратора.
Для этих требований каталоги загрузок обычно требуют слабых разрешений, а код, который работает с ним, обычно не использует Filesystem API
.
Отдых – это админ- пространство.
Администраторы / разработчики должны иметь возможность (писать) что угодно (плагины, темы, сам ядро WP) и иметь учетные данные администратора.
Для такого кода функциональности используется Filesystem API
и запрашивается учетные данные, если он не может выполнить задачу без них.
Таким образом, правило большого пальца для распространяемого кода разработки – грубо – каталог uploads является одним и единственным местом в установке WP, где вы можете ожидать выполнения записей без использования Filesystem API
.