当前位置:Gxlcms > PHP教程 > 上传文件PHP在服务器端用curl_init()上传文件

上传文件PHP在服务器端用curl_init()上传文件

时间:2021-07-01 10:21:17 帮助过:20人阅读

在客户端上传文件,这是Web开发经常碰到的情景。这里不再赘述。这里我们要详细阐述的是如何在服务端上传文件到别的服务器。

这种场景在要同步多台服务器的资源经常遇到,如要把用户上传的图片从一台服务器

上传到其它服务器。

其实,在服务器端上传文件不是一件很难的事,只要用PHP的curl_init()就可以做到。

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

人气教程排行