首页 > 解决方案 > 在 php 后端创建一个表单数据对象

问题描述

我必须将文件从我的 php 后端作为表单数据对象发送到 API。这些文件直接在后端创建,发送与任何 HTML 表单无关。

API 文档提供了一个发送表单数据对象的示例,但在 python 中,它是:

files=[
  ('file',('owl-50267_1920.jpg',open('dataset/img/owl-1.jpg','rb')))
]

我怎样才能在 php 中做同样的事情?谢谢

标签: phpapibackendform-data

解决方案


以下是如何在 PHP中创建表单数据对象:

$file = ['file' => new CURLFILE('path/to/file.ext')];

使用示例:

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'API endpoint URL',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => ['file' => new CURLFILE('path/to/file.ext')],
  CURLOPT_HTTPHEADER => ['X-API-KEY': 'api key']
]);

$response = curl_exec($curl);

curl_close($curl);
echo $response;

=> 在此处查看以前的答案:在 php 中使用 multipart/form-data 请求发送文件


推荐阅读