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

本文介绍了一种使用PHP与cURL库实现跨服务器上传文件的方法。通过遍历服务器列表并利用cURL设置POST请求参数,可以将本地文件上传到多个远程服务器上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在客户端上传文件,这是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);

}

?>

 

原文链接:http://woqilin.blogspot.com/2012/08/curlinit.html

个人主页:https://plus.google.com/+sherlockwang/posts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值