中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

php curlfile能上傳多個文件嗎

PHP
小樊
81
2024-11-20 07:53:14
欄目: 編程語言

PHP cURL 不支持一次上傳多個文件,但您可以通過循環遍歷數組中的所有文件并使用 curl_multi_* 函數來實現這個功能。以下是一個示例:

<?php
// 要上傳的文件列表
$file_list = ['file1.jpg', 'file2.jpg', 'file3.jpg'];

// 初始化 cURL Multi 資源
$mh = curl_multi_init();

// 初始化 cURL 句柄資源數組
$curl_handles = [];

// 循環遍歷文件列表并為每個文件創建一個 cURL 句柄
foreach ($file_list as $i => $file) {
    // 創建一個新的 cURL 句柄
    $curl_handle = curl_init();

    // 設置 cURL 選項
    curl_setopt($curl_handle, CURLOPT_URL, 'https://example.com/upload');
    curl_setopt($curl_handle, CURLOPT_POST, 1);
    curl_setopt($curl_handle, CURLOPT_POSTFIELDS, ['file' => new CURLFile($file, 'image/jpeg', $file)]);
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);

    // 將 cURL 句柄添加到 cURL Multi 資源中
    curl_multi_add_handle($mh, $curl_handle);

    // 將 cURL 句柄資源存儲到數組中
    $curl_handles[$i] = $curl_handle;
}

// 執行處理的請求
$active = null;
do {
    curl_multi_exec($mh, $active);
} while ($active && curl_multi_select($mh) != -1);

// 獲取處理結果并關閉 cURL 句柄和 cURL Multi 資源
$results = [];
foreach ($curl_handles as $i => $curl_handle) {
    $results[$i] = curl_multi_getcontent($curl_handle);
    curl_multi_remove_handle($mh, $curl_handle);
    curl_close($curl_handle);
}

curl_multi_close($mh);

// 輸出上傳結果
print_r($results);
?>

這個示例中,我們首先創建了一個包含要上傳的文件名的數組。然后,我們遍歷這個數組并為每個文件創建一個 cURL 句柄。在循環內部,我們使用 CURLFile 類創建一個新的 cURL 文件對象,并將其添加到 POST 字節流中。最后,我們使用 curl_multi_* 函數執行請求并獲取處理結果。

0
杨浦区| 高淳县| 石河子市| 洮南市| 梁河县| 财经| 阜平县| 卓尼县| 仁寿县| 武夷山市| 霍林郭勒市| 潞西市| 东港市| 布拖县| 东阳市| 双桥区| 商都县| 胶州市| 出国| 仙游县| 宜宾市| 花莲市| 北安市| 乐至县| 金堂县| 繁峙县| 衢州市| 邓州市| 横峰县| 龙南县| 双鸭山市| 集贤县| 呼和浩特市| 张家川| 敖汉旗| 辽阳市| 宣化县| 通江县| 莒南县| 沁源县| 遂平县|