首頁  >  文章  >  後端開發  >  上傳檔案 PHP 在伺服器端用curl_init()上傳文件

上傳檔案 PHP 在伺服器端用curl_init()上傳文件

巴扎黑
巴扎黑原創
2016-12-07 14:01:251404瀏覽

在客戶端上傳文件,這是Web開發經常碰到的情景。這裡不再贅述。這裡我們要詳細闡述的是如何在服務端上傳檔案到別的伺服器。

    這種場景在要同步多台伺服器的資源經常遇到,如要把用戶上傳的圖片從一台伺服器

上傳到其它伺服器。

    其實,在伺服器端上傳檔案不是一件很難的事,只要用PHP的curl_init()就可以做到。

<?php
require_once $_SERVER [&#39;DOCUMENT_ROOT&#39;].&#39;/hosts.php&#39;;//放置多台服务器的IP
$img_path = $_SERVER [&#39;DOCUMENT_ROOT&#39;].&#39;/upload/test.jpg&#39;;//图片的保存路径
$file = array("company_logo"=>&#39;@&#39;.$img_path);//文件路径,前面要加@,表明是文件上传.
foreach($hosts as $host) { 
$curl = curl_init();
//处理上传图片的URL,与客户端上传到服务器的原理是一样的
curl_setopt($curl,CURLOPT_URL,&#39;http://&#39;.$host.&#39;/upload.php&#39;);
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$file);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE); 
$result = curl_exec($curl); //$result 获取页面信息 
curl_close($curl);
}
?>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn