似乎您对何时/为什么以及如何写入文件有一些误解/误解。
一般来说,永远不要写入代码所在的任何目录,无论是核心代码还是主题和插件代码。这些目录可能在不同的wordpress实例之间共享,因此它们不适合用于仅与一个实例相关的数据。
WP_Filesystem
当您需要写入到通常没有写入权限的目录(在安全wordpress安装中all directories 因此,您需要向用户请求在尝试写入文件时使用的凭据(底层技术通常是FTP)。这意味着它必须是用户启动的进程,并且不适用于作为cron任务运行的任何东西。这也是一个非常丑陋的用户体验。您可能会试图为此存储用户凭据,但这是一种不安全的做法。一旦数据库或磁盘中有凭据,任何成功说服网站所有者上传插件的坏人都可以拥有该网站。
您应该只写入uploads目录,在这种情况下,使用哪种API没有任何区别,因为它们都是等效的所以只写上传目录,只需使用file_put_contents
因此,没有理由使用更复杂的东西。如果您有一些您认为不属于公共场所的机密数据,首先问问自己为什么需要存储这些数据(例如,如果您生成CSV,您就不能动态生成它吗?),如果必须,只需使用难以猜测的文件名and 设置目录的htacceess,以向web服务器指示该目录是非公开可用的目录。