php导入关键词的脚本 300条分批导入

复制代码
关键词就一列,是txt文件格式
//导入关键词脚本
function add_keywords(){
  // 读取文件
    $filename = dirname(dirname(__DIR__)).'/keyword.txt';//获取的目录是E:\Wampee-3.1.0-beta-3.5\www\1688order\server/application/keyword.txt
    //$filename = 'keyword.txt';
    if (!file_exists($filename)) {
        die("文件不存在: $filename");
    }

    $content = file_get_contents($filename);
    $lines = array_filter(explode("\n", $content)); // 移除空行

    // 分批处理,每批300条
    $batchSize = 300;
    $chunks = array_chunk($lines, $batchSize);

    $total = 0;
    foreach ($chunks as $chunk) {
        $data = [];
        foreach ($chunk as $name) {
            // 跳过空值
            if (empty(trim($name))) {
                continue;
            }

            $data[] = [
                'name' => $name,
                'is_show' => 1,
                'status' => 1,
                'create_time' => time(),
            ];
        }

        if (!empty($data)) {
            // 批量插入
            db('keywords')->insertAll($data);
            $total += count($data);
            echo "已插入 " . count($data) . " 条记录,累计 {$total} 条\n";
        }
    }

    echo "共插入 {$total} 条记录";

}
相关推荐
慧一居士2 小时前
vue中 export default 和<script setup> 区别对比
前端·vue.js
小天源2 小时前
IP地址修改器
服务器·网络·tcp/ip
亮子AI2 小时前
【NestJS】为什么return不返回客户端?
前端·javascript·git·nestjs
青云交2 小时前
Java 大视界 -- Java+Spark 构建离线数据仓库:分层设计与 ETL 开发实战(445)
java·数据仓库·spark·分层设计·java+spark·离线数据仓库·etl 开发
DEMO派2 小时前
前端如何防止接口重复请求方案解析
前端·vue.js·react.js·前端框架·angular
小北方城市网2 小时前
SpringBoot 集成消息队列实战(RabbitMQ/Kafka):异步通信与解耦,落地高可靠消息传递
java·spring boot·后端·python·kafka·rabbitmq·java-rabbitmq
大风起兮云飞扬丶2 小时前
web前端缓存命中监控方案
前端·缓存
曹天骄2 小时前
我是如何用 Cloudflare Worker 实现 HTML 灰度发布与两级缓存的
java·缓存·html
恋爱绝缘体12 小时前
CSS3 多媒体查询实例【1】
前端·css·css3