你可以使用 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();