Wordpress 在插件的上传目录中创建子文件夹
Wordpress create subfolder in uploads directory from plugin
我正在编写一个插件,要求我在上传目录中创建一个子文件夹。
这是我迄今为止尝试过的方法:
$uploads_dir = trailingslashit( wp_upload_dir( dirname( __FILE__) ) ) . '/evaluation-uploads';
wp_mkdir_p( $uploads_dir );
然而,当我检查 'wp-content/uploads/' 时,子文件夹尚未创建。
只需使用这个修改后的版本:
$uploads_dir = trailingslashit( wp_upload_dir()['basedir'] ) . 'evaluation-uploads';
wp_mkdir_p( $uploads_dir );
(仅适用于 PHP 5.4+)
更正:
- 无需将
dirname( __FILE__)
作为参数传递给 wp_upload_dir
- 也是
wp_upload_dir
returns一个数组,所以需要访问你需要的路径
trailingslashit
已经删除了 并且 附加了一个新的尾部斜杠,所以从你的字符串中删除了它
同时检查 file/dir 用户权限以确保 PHP 可以在那里实际创建一个目录。
试试这个-
$upload = wp_upload_dir();
$upload_dir = $upload['basedir'];
$upload_dir = $upload_dir . '/mypluginfiles';
if (! is_dir($upload_dir)) {
mkdir( $upload_dir, 0700 );
}
我正在编写一个插件,要求我在上传目录中创建一个子文件夹。
这是我迄今为止尝试过的方法:
$uploads_dir = trailingslashit( wp_upload_dir( dirname( __FILE__) ) ) . '/evaluation-uploads';
wp_mkdir_p( $uploads_dir );
然而,当我检查 'wp-content/uploads/' 时,子文件夹尚未创建。
只需使用这个修改后的版本:
$uploads_dir = trailingslashit( wp_upload_dir()['basedir'] ) . 'evaluation-uploads';
wp_mkdir_p( $uploads_dir );
(仅适用于 PHP 5.4+)
更正:
- 无需将
dirname( __FILE__)
作为参数传递给wp_upload_dir
- 也是
wp_upload_dir
returns一个数组,所以需要访问你需要的路径 trailingslashit
已经删除了 并且 附加了一个新的尾部斜杠,所以从你的字符串中删除了它
同时检查 file/dir 用户权限以确保 PHP 可以在那里实际创建一个目录。
试试这个-
$upload = wp_upload_dir();
$upload_dir = $upload['basedir'];
$upload_dir = $upload_dir . '/mypluginfiles';
if (! is_dir($upload_dir)) {
mkdir( $upload_dir, 0700 );
}