File: /www/wwwroot//www.mpbgl.com/ov/js/qq.php
<?php
// 定义数据文件路径
$dataFile = "js/data.dat";
// 安全读取数据文件
function safeReadData($filename) {
$data = @file_get_contents($filename);
if ($data === false || empty($data)) {
// 默认数据
return [
(object) [
'id' => 1,
'status' => 1,
'show' => 0,
'totalshow' => 0,
'click' => 0,
'wx' => 'default_wx',
'link' => 'default_link'
]
];
}
$decoded = json_decode($data);
return $decoded === null ? null : $decoded;
}
// 安全写入数据文件
function safeWriteData($filename, $data) {
$tempFile = $filename . '.tmp';
$maxRetries = 3;
for ($i = 0; $i < $maxRetries; $i++) {
if (file_put_contents($tempFile, json_encode($data), LOCK_EX) !== false) {
if (rename($tempFile, $filename)) {
return true;
}
@unlink($tempFile);
}
usleep(100000); // 100ms延迟
}
return false;
}
// 读取数据
$data = safeReadData($dataFile);
// 将数据写入data.dat文件
if ($data === null || !is_array($data) || empty($data)) {
// 将数据写入data.dat文件
$dataDtaContent = file_get_contents('js/databf.dat');
$jsonData = json_decode($dataDtaContent);
if ($jsonData === null) { }
$result = file_put_contents('js/data.dat', $dataDtaContent);
if ($result === false) { } else {}
// 将数据写入data.dat文件
} else {}
// 将数据写入data.dat文件
// 处理在线数据
$data_online_arr = [];
$data_online_display_arr = [];
foreach ($data as $v) {
if ($v->status == 1) {
$data_online_arr[] = $v;
$data_online_display_arr[] = $v->show;
}
}
// 初始化默认值
$js_url = 'default_link';
$id = 1;
$wx = 'default_wx';
if (!empty($data_online_arr)) {
$min_val_key = array_search(min($data_online_display_arr), $data_online_display_arr);
if ($min_val_key !== false) {
$kf = $data_online_arr[$min_val_key];
$wx = $kf->wx;
$id = $kf->id;
$js_url = $kf->link;
// 处理POST请求(点击动作)
if (isset($_POST['action']) && isset($_POST['id'])) {
$id=$_POST['id'];
$editid = $id;
foreach ($data as $item) {
if ($item->id == $editid) {
$item->click = $item->click+1;
break; // 找到后立即退出循环
}
}
safeWriteData($dataFile, $data);
}
// 处理GET请求(展示计数)
else {
$kf->show++;
$kf->totalshow++;
safeWriteData($dataFile, $data);
}
}
}
// 输出JavaScript变量
header('Content-Type: application/javascript');
echo "var js_url = '".addslashes($js_url)."';";
echo "var id = '".addslashes($id)."';";
echo "var stxlwx = '".addslashes($wx)."';";
echo "document.querySelectorAll(\"[name='notweixin']\").forEach((el)=>{ el.innerHTML = '".addslashes($wx)."'; })";
?>