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;
}
PHP 使用curl 批量上传文件(接口请求)
最新推荐文章于 2024-10-12 09:35:06 发布
该段代码展示了如何使用PHP实现批量上传文件到API接口的功能。通过遍历指定目录下的文件,选择非隐藏文件,然后利用cURL进行POST请求,将文件作为CURLFile对象发送。同时,每上传10个文件后暂停1秒,避免对服务器造成过大压力。
摘要由CSDN通过智能技术生成