删除 More/t.php.bak
This commit is contained in:
179
Main/Hv4.Function.php.bak
Normal file
179
Main/Hv4.Function.php.bak
Normal file
@@ -0,0 +1,179 @@
|
||||
<?php
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header('Access-Control-Allow-Methods: POST');
|
||||
header('Access-Control-Allow-Headers: Content-Type');
|
||||
session_start();
|
||||
// 自动将 JSON 请求体转为 $_POST
|
||||
if ($_SERVER['CONTENT_TYPE'] === 'application/json') {
|
||||
$input = file_get_contents('php://input');
|
||||
$data = json_decode($input, true);
|
||||
if ($data) {
|
||||
$_POST = array_merge($_POST, $data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//祖传适配CDN
|
||||
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
// 获取 'X-Forwarded-For' 中的第一个 IP 地址
|
||||
$ipArray = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
|
||||
$_SERVER['REMOTE_ADDR'] = trim($ipArray[0]); // 更新 REMOTE_ADDR
|
||||
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
// 如果 'X-Forwarded-For' 不存在,则尝试使用 'HTTP_CLIENT_IP'
|
||||
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CLIENT_IP'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
//祖传输出
|
||||
$Out = "{}";
|
||||
function 定义输出($key,$value) {
|
||||
global $Out;
|
||||
$Out = json_decode($Out, true);
|
||||
$Out[$key] = $value;
|
||||
$Out = json_encode($Out, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
|
||||
function 终止并输出() {
|
||||
global $Out;
|
||||
die($Out);
|
||||
}
|
||||
|
||||
//祖传数据库函数
|
||||
function 数据库运行($sql) {
|
||||
// 数据库连接参数
|
||||
$servername = "110.40.52.75";
|
||||
$username = "fuxstohostv4";
|
||||
$password = "yxh20080130";
|
||||
$dbname = "fuxstohostv4";
|
||||
|
||||
// 创建数据库连接
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
|
||||
// 检查连接是否成功
|
||||
if ($conn->connect_error) {
|
||||
return "连接失败: " . $conn->connect_error;
|
||||
}
|
||||
|
||||
// 执行 SQL 查询
|
||||
$result = $conn->query($sql);
|
||||
|
||||
// 查询失败,返回错误信息
|
||||
if ($result === FALSE) {
|
||||
$conn->close();
|
||||
return "查询失败: " . $conn->error;
|
||||
}
|
||||
|
||||
// 如果是 SELECT 查询,自动处理并返回结果
|
||||
if (stripos($sql, 'SELECT') === 0) {
|
||||
// 创建一个数组存储所有的查询结果
|
||||
$data = [];
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$data[] = $row; // 将每一行的数据加入结果数组
|
||||
}
|
||||
$conn->close();
|
||||
return $data; // 返回查询结果
|
||||
}
|
||||
|
||||
// 对于非 SELECT 查询(INSERT, UPDATE, DELETE)直接返回 true
|
||||
$conn->close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 生成随机字符串的函数
|
||||
function 生成随机字符串($长度, $字符集, $字符集长度) {
|
||||
$随机字符串 = '';
|
||||
for ($i = 0; $i < $长度; $i++) {
|
||||
$随机字符串 .= $字符集[rand(0, $字符集长度 - 1)];
|
||||
}
|
||||
return $随机字符串;
|
||||
}
|
||||
|
||||
function 唯一随机字符串($长度) {
|
||||
// 定义字符集
|
||||
$字符集 = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
||||
$字符集长度 = strlen($字符集);
|
||||
|
||||
// 文件路径,用来存储已生成的字符串
|
||||
$文件路径 = 'generated_strings.txt';
|
||||
|
||||
// 检查文件是否存在,如果不存在则创建
|
||||
if (!file_exists($文件路径)) {
|
||||
file_put_contents($文件路径, ''); // 创建一个空文件
|
||||
}
|
||||
|
||||
// 生成唯一字符串
|
||||
do {
|
||||
$随机字符串 = 生成随机字符串($长度, $字符集, $字符集长度);
|
||||
$已生成的字符串 = file($文件路径, FILE_IGNORE_NEW_LINES);
|
||||
} while (in_array($随机字符串, $已生成的字符串));
|
||||
|
||||
// 将新生成的字符串保存到文件
|
||||
file_put_contents($文件路径, $随机字符串 . PHP_EOL, FILE_APPEND);
|
||||
|
||||
return $随机字符串;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function JSON解析($json) {
|
||||
return @json_decode($json,true);
|
||||
}
|
||||
|
||||
function 转JSON($json) {
|
||||
return @json_encode($json, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 生成高颜值不重复产品编号
|
||||
* 特点:排除易混淆字符、智能查重、自动保存记录、美观格式化
|
||||
*/
|
||||
function 唯一字符串() {
|
||||
// 配置参数(可自行调整)
|
||||
$charSet = [
|
||||
'letters' => 'ABCDEFGHJKLMNPQRSTUVWXYZ', // 24个大写字母(排除I/O)
|
||||
'digits' => '23456789', // 8个数字(排除0/1)
|
||||
];
|
||||
$pattern = 'AAA-111-AAA'; // 定义编号格式:3字母 + 3数字 + 3字母
|
||||
$storageFile = 'product_codes.txt'; // 存储文件
|
||||
|
||||
do {
|
||||
// 根据格式生成各部分
|
||||
$codeParts = [];
|
||||
foreach (explode('-', $pattern) as $segment) {
|
||||
$type = preg_match('/^A+$/', $segment) ? 'letters' : 'digits';
|
||||
$codeParts[] = generateSegment($charSet[$type], strlen($segment));
|
||||
}
|
||||
|
||||
// 组合完整编码(去掉分隔符后确保10位)
|
||||
$fullCode = str_replace('-', '', implode('', $codeParts));
|
||||
|
||||
// 检查是否已存在(使用内存加速查询)
|
||||
$existingCodes = file_exists($storageFile)
|
||||
? array_flip(file($storageFile, FILE_IGNORE_NEW_LINES))
|
||||
: [];
|
||||
} while (isset($existingCodes[$fullCode]));
|
||||
|
||||
// 保存新编码并返回格式化版本
|
||||
file_put_contents($storageFile, $fullCode.PHP_EOL, FILE_APPEND);
|
||||
return implode('-', $codeParts);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成指定长度的字符段
|
||||
*/
|
||||
function generateSegment($characters, $length) {
|
||||
$segment = '';
|
||||
$maxIndex = strlen($characters) - 1;
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$segment .= $characters[random_int(0, $maxIndex)];
|
||||
}
|
||||
return $segment;
|
||||
}
|
||||
Reference in New Issue
Block a user