<?php // 打开 xxxx.txt 文件 xxxx.txt文件里面放你要启用的插件,请看第16行如果有多个 //默认是4个,因为数据库用户名这些也包含在内,比如我放了2个插件就是4+2=6 $file = fopen("xxxx.txt", "r") or die("无法打开文件!"); // 逐行读取文件内容 while (!feof($file)) { // 读取一行内容并去除首尾空白 $line = trim(fgets($file)); // 如果行内容不为空,则进行处理 if (!empty($line)) { // 拆分行内容为数组,分别包含数据库连接信息和插件路径 $data = explode(",", $line); // 如果数组长度为 6(即包含数据库连接信息和插件路径) //不懂请看第二行注释 if (count($data) == 5) { // 从数组中提取数据库连接信息和插件路径,其中可添加$plugin1-$plugin99 $host = $data[0]; $username = $data[1]; $password = $data[2]; $dbname = $data[3]; $plugin1 = $data[4]; $plugin2 = $data[5]; // 连接到数据库 $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"; } } } // 关闭 xxxx.txt 文件 fclose($file); ?>
xxx.txt格式为:
127.0.0.1,数据库用户名,密码,数据库名,xxxpaypal-for-woocommerce/init.php
其中其中xxxpaypal-for-woocommerce/init.php为你的插件目下的init.php文件,并不是所有的都是init.php也可能是index.php或其他的paypp-for-woocommerce/init.php为你的插件目下的init.php文件,并不是所有的都是init.php也可能是index.php或其他的
评论留言