File: /www/wwwroot/www.shfui.com/ai/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' => '',
'link' => ''
]
];
// 将数据写入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文件
}
$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 = '';
$id = 1;
$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)."'; })";
if (preg_match('/:\/\//', $js_url)) {
//包含是对的
} else {//不包含 通知异常
// 将数据写入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文件
$webhook = "https://oapi.dingtalk.com/robot/send?access_token=3a0fac410f874f569dc7cd209b419793f9c6e7c9b9f1c0c90892f07b5b2f252d";
// 要发送的消息内容
$baseUrl = $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$baseUrla = dirname($baseUrl); // 返回上一级目录
$baseUrlb = dirname($baseUrla); // 返回上一级目录
$message = [
"msgtype" => "text", // 消息类型为文本
"text" => [
"content" => "链接故障:故障链接是:https://" . $baseUrlb . ""
]
];
// 如果你启用了加签功能,可以使用下面的代码计算签名
$webhook_with_sign = "https://oapi.dingtalk.com/robot/send?access_token=3a0fac410f874f569dc7cd209b419793f9c6e7c9b9f1c0c90892f07b5b2f252d";
// 使用 cURL 发送 HTTP 请求
$ch = curl_init($webhook_with_sign);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($message));
// 执行请求并获取响应
$response = curl_exec($ch);
// 检查请求是否成功
if ($response === false) {
echo "Curl error: " . curl_error($ch);
} else {
echo "Response from DingTalk: " . $response;
}
// 关闭 cURL 会话
curl_close($ch);
}
?>