PHP 上傳文件到其餘服務器
標籤(空格分隔):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; }
原文出處:https://www.cnblogs.com/yanweifeng/p/11066035.htmlhtml