批量移除Wordpess/woocommerce任意插件

admin   ·   发表于 1个月前   ·   网络技术

如何批量将Wordpess/woocommerce任意插件移除

请将下方代码报错为xxx.php

脚本:

<?php
// 打开 batch_data.txt 文件
$file = fopen("困斤拷㩞藺爱䜏㚚龗.txt", "r") or die("无法打开文件!");

// 逐行读取文件内容
while (!feof($file)) {
    // 读取一行内容并去除首尾空白
    $line = trim(fgets($file));
    
    // 如果行内容不为空,则进行处理
    if (!empty($line)) {
        // 拆分行内容为数组,分别包含数据库连接信息和插件路径
        $data = explode(",", $line);
        
        // 如果数组长度为 5(即包含数据库连接信息和插件路径)
        if (count($data) == 5) {
            // 从数组中提取数据库连接信息和插件路径
            $host = $data[0];
            $username = $data[1];
            $password = $data[2];
            $dbname = $data[3];
            $plugin1 = $data[4];
            
            // 连接到数据库
            $conn = new mysqli($host, $username, $password, $dbname);
            
            // 检查连接是否成功
            if ($conn->connect_error) {
                die("连接失败: " . $conn->connect_error);
            }
            
            // 查询当前 option_value
            $query = "SELECT `option_value` FROM `wp_options` WHERE `option_id` = 33";
            $result = $conn->query($query);
            
            if ($result->num_rows > 0) {
                // 输出数据
                while($row = $result->fetch_assoc()) {
                    $current_option_value = $row["option_value"];
                }

                // 反序列化当前的 option_value
                $current_option_array = unserialize($current_option_value);

                // 检查插件路径是否存在
                $plugins_to_remove = array();
                if (in_array($plugin1, $current_option_array)) {
                    $plugins_to_remove[] = $plugin1;
                }

                // 如果有插件路径需要移除
                if (!empty($plugins_to_remove)) {
                    // 移除插件路径
                    foreach ($plugins_to_remove as $plugin) {
                        $key = array_search($plugin, $current_option_array);
                        if ($key !== false) {
                            unset($current_option_array[$key]);
                        }
                    }

                    // 序列化数组为新的 option_value
                    $new_option_value = serialize($current_option_array);

                    // 更新数据库中的 option_value
                    $update_query = "UPDATE `wp_options` SET `option_value` = '" . $conn->real_escape_string($new_option_value) . "' WHERE `option_id` = 33";
                    if ($conn->query($update_query) === TRUE) {
                        echo "option_value 更新成功\n";
                    } else {
                        echo "更新 option_value 时出错: " . $conn->error . "\n";
                    }
                } else {
                    echo "插件路径不存在,无需更新\n";
                }
            } else {
                echo "没有找到相关记录\n";
            }

            // 关闭数据库连接
            $conn->close();
        } else {
            echo "行格式不正确\n";
        }
    }
}

// 关闭 batch_data.txt 文件
fclose($file);
?>

 自己研究下吧,很简单的

Attachment List

3.rar   File Size:0.001M (Download Count:0)

0 Reply   |  Until 1个月前 | 26 View
LoginCan Publish Content
Top