PHP Curl发送带数据的文件

2022-06-13 00:00:00 curl php slim

我需要上传3个文件与变量一起发布的数据。我的电话是这样的-

$data['type1'] = new CurlFile($file1);
$data['type2'] = new CurlFile($file2);
$data['type3'] = new CurlFile($file3);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data, "var1: $val1", "var2: $val2"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data', "headkey: $headkeyValue"));
我无法从SLIM框架中获取$app->request()->post('var1');。为空。

  • 我可以从标题中获取headkey$app->request()->headers('headkey');
  • 我能够获取$_FILES中的数据

解决方案

此处是cURL请求示例

$curlFile = curl_file_create($uploaded_file_name_with_full_path);
$post = array('val1' => 'value','val2' => 'value','file_contents'=> $curlFile );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$your_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);

不要忘记放置适当的页眉。
你也可以在这里找到很好的资源 Curl File Upload 通过cURL发送文件。请确保您是在file_contents键入上面的代码时传递文件。

相关文章