PHP上传URL地址网络文件到服务器
25-04-07
slbcun
787℃
0
如何将一个URL地址的网络资源文件上传到服务器?首先考虑的方法是将文件下载到本地,然后进行上传操作,那有没有一个更方便的方法,将一个网络文件直接上传到服务器呢?是不是可以通过文件流的方式上传呢?
我这里使用的是 Guzzle 三方库,将一张百度上的图片上传到其他服务器。
use GuzzleHttp\Client; try { $file = fopen('https://t8.baidu.com/it/u=1484500186,1503043093&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg', 'r'); $multipart = [ [ 'name' => 'file', 'contents' => $file ] ]; $client = new Client(['verify' => false]); $response = $client->request('POST', 'https://xx.com/upload', [ 'multipart' => $multipart ]); if ($response->getStatusCode() === 200) { $content = $response->getBody()->getContents(); $result = json_decode($content, true); } } catch (\Exception $exception) { echo $exception->getMessage(); } return $result;