php-guzzleHow to send multipart requests with Guzzle in PHP?
Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. To send a multipart request with Guzzle, you need to create a multipart/form-data
request.
$client = new GuzzleHttp\Client();
$response = $client->request('POST', 'http://httpbin.org/post', [
'multipart' => [
[
'name' => 'field_name',
'contents' => 'abc'
],
[
'name' => 'other_field',
'contents' => '123'
],
[
'name' => 'file_name',
'contents' => fopen('/path/to/file', 'r')
]
]
]);
The output of the example code will be a response object containing the response from the server.
Parts of the code:
$client = new GuzzleHttp\Client();
: creates a new Guzzle client.$response = $client->request('POST', 'http://httpbin.org/post', [
: sends a POST request to the specified URL.'multipart' => [
: specifies that the request should be a multipart request.[
: starts an array containing the fields and files to be sent.'name' => 'field_name',
: specifies the name of the field.'contents' => 'abc'
: specifies the contents of the field.fopen('/path/to/file', 'r')
: opens the file to be sent.
Helpful links
More of Php Guzzle
- How to use PHP Guzzle to make a batch request?
- How to set a user agent in PHP Guzzle?
- How to update PHP Guzzle?
- How to stream with PHP Guzzle?
- How to set a timeout for a request with PHP Guzzle?
- How to post form data with PHP Guzzle?
- How to handle a RequestException with PHP Guzzle?
- How to make an asynchronous send with PHP Guzzle?
- What version of PHP is required for Guzzle?
See more codes...