PHP 使用curl 批量上传文件(接口请求)

该段代码展示了如何使用PHP实现批量上传文件到API接口的功能。通过遍历指定目录下的文件,选择非隐藏文件,然后利用cURL进行POST请求,将文件作为CURLFile对象发送。同时,每上传10个文件后暂停1秒,避免对服务器造成过大压力。
摘要由CSDN通过智能技术生成

    function apiUpload()
    {
        $file      = storage_path('');  //文件夹绝对路径

        $handler   = opendir($file);//当前目录中的文件夹下的文件夹
        $name_list = [];
        while (($filename = readdir($handler)) !== false) {
            if ($filename != "." && $filename != ".." && $filename != ".svn") {
                $name_list[] = $filename;
            }
        }
        if (empty($name_list)) {
            exit('目录为空');
        }

       $url = '';  //请求api地址
       $i = 0;
        foreach ($name_list as $name) {
            $full_file = $file . '/' . $name;
            $post_data = [
                'label' => new \CURLFile($full_file),  //必须是绝对路径
            ];
            dump($full_file);
            $rt = $this->curl_post($url, $post_data);
            dump(json_decode($rt));
            $i ++;
            if( $i % 10 === 0){
                sleep(1);
            }
        }
    }

    function curl_post($url,$post_data)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        $output = curl_exec($ch);
        curl_close($ch);
        return  $output;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值