WP\\u文件系统的真正需要是能够在写入新文件时设置正确的文件所有者/组权限。读取或覆盖现有文件不会更改这些权限,因此技术上不需要WP\\U文件系统(尽管您也可以使用它)
原因是,在不检查所有者/组权限的情况下编写新文件是一种潜在的安全风险,因为这些文件可能是可更改的,因此会注入代码并执行(主要在安全性较差的共享服务器上,但如果是插件和主题,则无法了解最终用户的设置。)
参考号:http://ottopress.com/2011/tutorial-using-the-wp_filesystem/#comment-10820
问题:如果您只获取文件的内容,则无需担心获取凭据,对吗?您从未将文件写入服务器,因此文件所有权没有问题。同样,如果要更新已存在的文件的内容,则不会创建该文件,因此,文件所有权也没有问题,对吗?
回答:如果您正在读取文件,则没有问题如果您正在更新文件,而没有所有权问题,则不应该更新插件或主题中的文件,因为升级插件或主题时更新将丢失。这意味着要跨升级进行维护,您需要在插件/主题目录之外创建一个新文件,这意味着您仍然应该使用WP\\u文件系统。
所以在回答这个问题时,对于插件和主题编辑器来说,技术上并不需要它,因为它们只编辑现有文件,您无法使用它们创建新文件。(因此,有点假设您知道,如果稍后更新插件/主题而不采取步骤保留更改,则更改将丢失。)
但从更广泛的意义上讲,这个问题可以被视为;何时应该/必须使用WP文件系统"E;由于它输出用户管理表单(当正确的权限尚未到位时),因此在创建新文件时(通常通过设置页面)必须将其用于面向管理的选项
如果可以避免创建新文件(通常情况下),这通常会更好,因为这会让用户混淆为什么需要凭据(除非您添加一些说明!)如果必须创建新文件,请使用WP文件系统。同样,出于类似的原因,您可能希望使用它来创建目录(尽管无法执行目录)
更好的做法是在可能的情况下也使用它来更新文件,因为它可以提醒用户他们对这些文件的所有权权限可能是错误的-他们会得到表单(但除非你解释,否则他们也不知道为什么!)但严格来说,这不是必要的。也可以使用它读取文件(但完全没有必要)
当然,最终也会有例外it depends on the use case. 通过提供的相同链接可以找到关于不同用例的进一步讨论。