PHP 上傳文件到其他服務器
標簽(空格分隔):
安裝Guzzle類庫
**guzzle** 是發送網絡請求的類庫
composer安裝:**composer require guzzlehttp/guzzle**
中文文檔[**https://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html**]
文件上傳
<?php
use GuzzleHttp\Client;
public $upload_type; // 發送類型 'image|video|file'
public function shopUpload ($name)
{
$file = fopen($_FILES[$name]['tmp_name'], 'r')
$response = (new Client())->request(
'POST', //post 請求
'http://www.xxx.cm/upload',
[
// name: (必須,字符串) 映射到表單字段的名稱。
// contents: (必須,混合) 提供一個字符串,可以是 fopen 返回的資源、或者一個
'multipart' => [ //設置
[
'name' => $name,
'contents' => $file,
'filename' => $_FILES[$name]['name'],
'type' => $_FILES[$name]['type']
],
[
'name' => 'file_name', // 上傳表單的name值
'contents' => $name
],
[
'name' => 'upload_type', // 上傳文件類型
'contents' => $this->upload_type,
],
]
]
);
$resultMap = json_decode($response->getBody()->getContents(), true);
}
服務器接收
function upload ()
{
直接獲取 $_FILES;
}