我认为我以前曾经在WP中创建文件夹/文件,但是对于插件,我需要缓存(用于调整大小的图像)文件夹中的文件夹 wp-content/uploads.

这提出了一个问题 - 我真的需要通过 Filesystem API (包括在需要时杂乱地要求FTP凭据)或 wp_mkdir_p() 足够好吗?

有帮助吗?

解决方案

wp-content/uploads/ 服务器应该是可写的(否则不可能上传文件,不?)。如果您要在此目录下创建一些东西,则可以安全使用 wp_mkdir_p().

我只会使用 WP_Filesystem 如果服务器没有机会写入该位置的权限,例如 wp-content/plugins/, ,这不必为服务器做可写的(至少我认为它不一定是吗?)。

边注: 法典的文件权限页面 也谈论一个 wp-content/cache/ 目录。这将是缓存文件的“更标准”位置?

其他提示

我会尝试一些简单的事情,然后再弄乱无尽的Possibilites/托管设置:

$target = 'wherever';
wp_mkdir_p( $target );

if ( wp_mkdir_p( $target ) === TRUE )
{
    echo "Folder $target successfully created";
}
else
{
    new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
    // or if you're kool, you use _doing_it_wrong(); ... ;-)
}

只要让您的插件创建文件/文件夹即可提出:我的插件也可以做到这一点,我遇到了许多用于不同用户的文件权限的问题。有些是窗户,有些是unix,有些是托管的,有些是家庭的。一旦我共享插件,这是我的#1支持电子邮件。

我已经重构了代码以最大程度地减少触摸文件系统的需求,而上传目录是我现在使用的唯一一个避免此类问题的目录。

许可以下: CC-BY-SA归因
scroll top