你可以使用 Guzzle HTTP 客户端库来上传文件。以下是一个简单的示例代码:
复制use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Stream;
$client = new Client();
// 构造文件流
$fileStream = new Stream(fopen('/path/to/file', 'r'));
// 发送请求
$response = $client->send(new Request('POST', 'http://example.com/upload', [
'Content-Type' => 'multipart/form-data'
], [
// 添加表单字段
[
'name' => 'field1',
'contents' => 'value1'
],
[
'name' => 'field2',
'contents' => 'value2'
],
// 添加文件字段
[
'name' => 'file',
'contents' => $fileStream,
'filename' => 'filename.jpg'
]
]));
// 处理响应
echo $response->getBody();