如何批量将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); ?>
自己研究下吧,很简单的
3.rar File Size:0.001M (Download Count:0)