批量启用Wordpess/woocommerce插件PHP脚本

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

批量启用Wordpess/woocommerce插件

将下方代保存为xx.php

脚本:

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

// 逐行读取文件内容
while (!feof($file)) {
    // 读取一行内容并去除首尾空白
    $line = trim(fgets($file));
    
    // 如果行内容不为空,则进行处理
    if (!empty($line)) {
        // 拆分行内容为数组,分别包含数据库连接信息和插件路径
        $data = explode(",", $line);
        
        // 如果数组长度为 6(即包含数据库连接信息和插件路径)
        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_add = array();
                if (!in_array($plugin1, $current_option_array)) {
                    $plugins_to_add[] = $plugin1;
                }
                if (!in_array($plugin2, $current_option_array)) {
                    $plugins_to_add[] = $plugin2;
                }

                // 如果有新的插件路径需要添加
                if (!empty($plugins_to_add)) {
                    // 获取当前数组的最大键值
                    $max_key = max(array_keys($current_option_array));

                    // 添加新插件路径到数组中,键值自动分配
                    foreach ($plugins_to_add as $plugin) {
                        $current_option_array[++$max_key] = $plugin;
                    }

                    // 序列化数组为新的 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);
?>

数据库和要启用的插件放在“困斤拷㩞藺爱䜏.txt”一行一个

格式为:

127.0.0.1,用户名,密码,库名,xxx/xxx.php

其中“xxx/xxx.php”启用插件的路径,请自行替换

Attachment List

star4.zip   File Size:0.001M (Download Count:0)

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