2014-10-06 57 views
0

我正在開發一個需要用戶刪除(或刪除)目錄或文件的wordpress插件。如何刪除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 

這個函數返回之後成功但文件夾或目錄不會被刪除。

任何想法,任何人都感謝

+0

函數返回成功,因爲它檢查文件是否是目錄,而不是它是否成功刪除它。 – 2014-10-06 12:11:19

+0

是的明白,該部分,但只是刪除目錄是問題 – ShapCyber 2014-10-06 12:17:15

回答

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

使用此代碼刪除目錄。