PHP 上傳文件到其餘服務器

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

相關文章
相關標籤/搜索