WordPress在插件上传目录中创建子文件夹

Mic*_* M. 2 php wordpress upload mkdir

我正在编写一个插件,要求我在uploads目录中创建一个子文件夹。

到目前为止,这是我尝试过的:

$uploads_dir = trailingslashit( wp_upload_dir( dirname( __FILE__) ) ) . '/evaluation-uploads';
wp_mkdir_p( $uploads_dir ); 
Run Code Online (Sandbox Code Playgroud)

但是,当我检查“ wp-content / uploads /”时,尚未创建子文件夹。

Cod*_*uer 6

只需使用此修改版本:

$uploads_dir = trailingslashit( wp_upload_dir()['basedir'] ) . 'evaluation-uploads';
wp_mkdir_p( $uploads_dir );
Run Code Online (Sandbox Code Playgroud)

(仅适用于PHP 5.4+)

所做的更正:

  • 无需dirname( __FILE__)作为参数传递给wp_upload_dir
  • wp_upload_dir返回一个数组,因此您需要访问所需的路径
  • trailingslashit将已经删除添加新的尾部斜杠,因此将其从字符串中删除

还要检查文件/目录用户权限,以确保PHP可以在其中实际创建目录。