Php 如果用户已被删除,请同时删除该用户';s文件
我想知道在用户被删除后如何删除他/她上传的文件 每当我删除一个用户时,它只删除数据库中的数据。但是我想删除文件系统中的文件 注意:我正在使用Wordpress。rmdir()和unlink()不起作用 请帮忙!我试着用谷歌搜索,但什么都没有 更新:感谢pr1nc3的功能 但它还没有完成Php 如果用户已被删除,请同时删除该用户';s文件,php,wordpress,Php,Wordpress,我想知道在用户被删除后如何删除他/她上传的文件 每当我删除一个用户时,它只删除数据库中的数据。但是我想删除文件系统中的文件 注意:我正在使用Wordpress。rmdir()和unlink()不起作用 请帮忙!我试着用谷歌搜索,但什么都没有 更新:感谢pr1nc3的功能 但它还没有完成 add_action( 'delete_user', 'delete_user_dir' ); function delete_user_dir( $user_id ) { global $wpdb; $f
add_action( 'delete_user', 'delete_user_dir' );
function delete_user_dir( $user_id ) {
global $wpdb;
$files = 'wp-content/uploads/user/';
$deluser = $wpdb->get_results( "SELECT user_login FROM " .$wpdb->user ." WHERE ID=".$user_id );
}
wp content/uploads/user/Array每次删除用户时都会运行此功能
$user\u id
是已删除用户的id
function my_delete_user( $user_id ) {
--> Get All posts created by $user_id
--> Loop All posts to get attachments for each posts
--> Finally delete each attachment using wp_delete_attachment
}
add_action( 'delete_user', 'my_delete_user' );
请参阅此处
我明白了!谢谢大家的帮助。:)
`rmdir()和unlink()不起作用。`,但是为什么?检查文件和文件夹权限..是否有用户的文件留在媒体库中@Raj Mohan CHMOD与此无关,因为父目录已经是777。我只需要当管理员删除网站的成员时,它也会自动删除用户的文件夹。但是谢谢你的建议。@davideugeneperson这些文件在wp-content目录的一个子目录中。这些文件直接上传到数据库和文件系统。
function delete_user_dir( $user_id ) {
global $wpdb;
$url = home_url('/');
$folder = 'wp-content/uploads/user/';
$deluser = get_userdata( $user_id );
$files = glob($url. $folder . $deluser->user_login .'/*');
if(is_array($files)){
foreach($files as $file){
if(is_file($file))
unlink($file);
};
rmdir($url. $folder . $deluser->user_login .'/');
}else{
rmdir($url. $folder . $deluser->user_login .'/*');
}
}
add_action( 'delete_user', 'delete_user_dir' );