如何删除WordPress插件中的文件夹或文件

时间:2014-10-06 12:07:14

标签: php wordpress-plugin

我正在开发一个wordpress插件,要求用户删除(或删除)目录或文件。

启动WP_Filesystem之后

function filesystem_init($form_url, $method, $context, $fields = null) {
global $wp_filesystem;
/* get credentials */
if (false === ($creds = request_filesystem_credentials($form_url, $method, false, $context, $fields))) {
return false;
}

if (!WP_Filesystem($creds)) {
/* incorrect connection data - ask for credentials again, now with error message */
request_filesystem_credentials($form_url, $method, true, $context);
return false;
}
return true; //successfully initiated
}

发布表单时,我这样做是为了删除一个包含一个文件的目录

WP_PLUGIN_DIR.'/myp/mfold/selectedfolder/index.php';

function RemoveData($form_url){
global $wp_filesystem;
check_admin_referer('ToRemoveData');
$ToRemove = $_POST['dirToGo']; 
$form_fields = array('dirToGo');
$method = ''; 
$targetFolder= WP_PLUGIN_DIR . '/myp/mfold/'.$ToRemove; //target folder
$form_url = wp_nonce_url($form_url, 'ToRemoveData'); //page field with nonce value
if(!filesystem_init($form_url, $method, $targetFolder, $form_fields))
return false;
if($wp_filesystem->is_dir($targetFolder))
{   
$wp_filesystem->rmdir($targetFolder);
//WP_Filesystem_Base::delete($targetFolder);        
return " Successful !";
}
else
{
return new WP_Error('writing_error', 'Cannot Remove');
}//return error object
}//close function

此功能返回成功,但文件夹或目录未删除。

任何想法的人都谢谢

1 个答案:

答案 0 :(得分:0)

$wp_filesystem->delete($target_folder, true);

使用此代码删除目录。