在客戶端上傳文件,這是Web開發經常碰到的情景。這裡不再贅述。這裡我們要詳細闡述的是如何在服務端上傳檔案到別的伺服器。
這種場景在要同步多台伺服器的資源經常遇到,如要把用戶上傳的圖片從一台伺服器
上傳到其它伺服器。
其實,在伺服器端上傳檔案不是一件很難的事,只要用PHP的curl_init()就可以做到。
<?php require_once $_SERVER ['DOCUMENT_ROOT'].'/hosts.php';//放置多台服务器的IP $img_path = $_SERVER ['DOCUMENT_ROOT'].'/upload/test.jpg';//图片的保存路径 $file = array("company_logo"=>'@'.$img_path);//文件路径,前面要加@,表明是文件上传. foreach($hosts as $host) { $curl = curl_init(); //处理上传图片的URL,与客户端上传到服务器的原理是一样的 curl_setopt($curl,CURLOPT_URL,'http://'.$host.'/upload.php'); 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); } ?>