Guzzle 是一个 PHP HTTP 客户端库,用于发送 HTTP 请求和处理响应。Guzzle 7 支持多部分/表单数据发布,这在上传文件或发送复杂表单数据时非常有用。
Guzzle 7 中的多部分/表单数据发布主要通过 MultipartBody
实现。你可以使用 create
方法创建一个多部分请求体,并添加表单字段和文件。
原因:
Content-Type
为 multipart/form-data
。解决方法:
以下是一个完整的示例,展示了如何使用 Guzzle 7 发送多部分/表单数据:
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
$client = new Client();
$request = new Request('POST', 'https://example.com/upload', [
'Content-Type' => 'multipart/form-data'
]);
$multipartBody = $request->getBody()->create();
$multipartBody->addPart(['name' => 'field1', 'contents' => 'value1']);
$multipartBody->addPart(['name' => 'file', 'contents' => fopen('/path/to/file', 'r')]);
$response = $client->send($request);
echo $response->getBody();
通过以上方法,你应该能够解决 Guzzle 7 多部分/表单数据发布不能正常工作的问题。如果问题仍然存在,请检查服务器端的日志,以获取更多详细的错误信息。
云+社区技术沙龙[第20期]
DBTalk技术分享会
腾讯云GAME-TECH沙龙
云+社区技术沙龙[第19期]
DB TALK 技术分享会
技术创作101训练营
DB TALK 技术分享会
云+社区技术沙龙[第2期]
Elastic 中国开发者大会
DBTalk
领取专属 10元无门槛券
手把手带您无忧上云