分享免费的编程资源和教程

网站首页 > 技术教程 正文

齐博x1根据当前目录下txt文件随机一条信息,自动配图,发布。

goqiw 2024-10-03 23:32:27 技术教程 11 ℃ 0 评论

根据当前目录下txt文件随机一条内容

在通过360搜图api为内容配图-如果api挂了 从网上搜索类似的api接口即可

在通过插件:齐博x1插件-xtool站长超级工具箱-的发布接口发布信息

通过自定义postData可实现发布到任意模块

如果你动手能力强 可以修改关于发布的代码 发布到自己的网站。

<?php

while (true) {
    try {
        define('ERROR_NO_TXT_FILES', '错误:在目标目录下未找到任何txt文件。');
        define('ERROR_EMPTY_FILE_CONTENT', '错误:所选txt文件内容为空。');
        define('ERROR_CURL', '错误:cURL 错误:');
        define('ERROR_DECODE_JSON', '错误:解析JSON响应失败。');
        define('ERROR_NO_IMAGE_URL', '错误:API响应中未找到图片URL。');
        define('API_URL_BASE', 'https://api.52vmy.cn/api/img/360?msg=';);

        $currentDir = __DIR__;

        // 指定文件名数组
        $fileNames = array("求资源.txt", "求素材.txt", "求模板.txt", "求源码.txt");

        // 随机选择一个文件名
        $randomFileName = $fileNames[array_rand($fileNames)];

        // 构建文件路径
        $filePath = $currentDir . '/' . $randomFileName;

        // 检查文件是否存在
        if (!file_exists($filePath)) {
            throw new Exception(ERROR_NO_TXT_FILES);
        }

        // 读取文件内容到数组中
        $fileContent = file($filePath);

        // 检查文件内容是否为空
        if (empty($fileContent)) {
            throw new Exception(ERROR_EMPTY_FILE_CONTENT);
        }

        // 随机选择一行内容
        $randomLine = $fileContent[array_rand($fileContent)];
        $randomLines = substr($randomLine, 0, 30);
        // 输出随机选择的内容
        echo $randomLines . "\n";

        // 构建 API URL
        $apiUrl = API_URL_BASE . urlencode($randomLines);

        // 初始化 cURL
        $ch = curl_init();

        // 设置 cURL 选项
        curl_setopt($ch, CURLOPT_URL, $apiUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // 执行请求,获取返回的内容
        $response = curl_exec($ch);

        // 检查 cURL 请求是否成功
        if ($response === false) {
            throw new Exception(ERROR_CURL . curl_error($ch));
        }

        // 解码 JSON 响应
        $responseData = json_decode($response, true);

        // 检查响应是否为 JSON 格式
        if ($responseData === null) {
            throw new Exception(ERROR_DECODE_JSON);
        }

        // 检查是否成功获取到图片 URL
        if (!isset($responseData['data']['url']) || empty($responseData['data']['url'])) {
            throw new Exception(ERROR_NO_IMAGE_URL);
        }

        // 将图片 URL 存储到 $picurl 变量中
        $picurl = $responseData['data']['url'];

        // 输出图片 URL
        echo $picurl . "\n";

        // 关闭 cURL 资源
        curl_close($ch);

        break;  // 成功完成流程,跳出循环
    } catch (Exception $e) {
        echo $e->getMessage() . "\n";  // 输出错误消息

        // 如果捕获到解析JSON响应失败的异常,重新开始循环
        if ($e->getMessage() === ERROR_DECODE_JSON) {
            continue;
        }
        
        // 其他错误情况,结束程序
        exit;
    }
}

// 继续执行后续代码...
$randomNumber = rand(200000183, 200001888);

// 定义POST数据
$postData = [
    'mid' => 1,
    'fid' => '',
    'kwtags' => '',
    'dirname' => 'bbs',
    'passwd' => 'passwd',
    'content' => $randomLine,
    'title' => $randomLine,
    'ext_id' => '',
    'uid' => $randomNumber,
    'picurl' => $picurl,
];

// 构造POST请求URL
$url = 'https://www.***.com/index.php/index/plugin/execute/plugin_name/xtool/plugin_controller/caiji/plugin_action/add';

// 初始化 cURL
$curl = curl_init();

// 设置 cURL 选项
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// 添加必要的请求头(如有)
// curl_setopt($curl, CURLOPT_HTTPHEADER, []);

// 执行请求,获取返回的内容
$result = curl_exec($curl);

if ($result === false) {
    // 处理请求失败的情况
    $error = curl_error($curl);
    echo "Error: " . $error;
    
    // 清理资源
    curl_close($curl);
} else {
    // 处理请求成功的情况
    var_dump($result);

    // 清理资源
    curl_close($curl);
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表