CURL远程服务上传文件
博客专区 > webphp 的博客 > 博客详情
CURL远程服务上传文件
webphp 发表于3个月前
CURL远程服务上传文件
  • 发表于 3个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

在工作中经常会遇到把附件服务器独立出来,在web站点上传的附件上传到指定的服务器上,就用到了跨服务器远程上传附件,这里应用了php中的curl来上传附件 当然这里还应该有一些安全机制处理,就不在这里描述, web上传页面
$file_path = ."/Public/lecheng/images/home/1_07.jpg";
$url = "http://curljs.com/request_file.php";//第三方服务器接收地址
$data['Filedata'] = "@".$filepath;//必须为@绝对完整路径
$data['dirname'] = $dirname;
$state = postCurl($url, $data) ;
return $state;

function postCurl($url,$data){
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_URL,$url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);//把CRUL获取的内容赋值到变量,不直接输出的页面
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟随$url重定向的页面
	curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
	ob_start();
	curl_exec($ch);
	$result = ob_get_contents() ;
	ob_end_clean();
	return $result;
}
request_file.php
if($_FILES){
	$filename = $_FILES['Filedata']['name'];
	$tmpname = $_FILES['Filedata']['tmp_name'];
	$filedir = $_POST['dirname'];
	
	$dir_path = dirname(__FILE__).'/upload/'.$filedir.'/';
	if ( !is_dir( $dir_path) ){
		mkdirss( $dir_path );
	}
	$file_path = $dir_path . $filename;
	if(move_uploaded_file($tmpname,$file_path)){
		$msg = json_encode('上传成功');
		echo $msg;
	}else{
		$data = json_encode($_FILES);
		echo $data;
	}
}

/**
 * 创建目录
 * @param unknown_type $dirs
 * @param unknown_type $mode
 * @return boolean
 */
function mkdirss($dirs,$mode=0777) {
	if(!is_dir($dirs)){
		mkdirss(dirname($dirs), $mode);
		return @mkdir($dirs, $mode);
	}
	return true;
}
?>
 
标签: curl 上传文件
共有 人打赏支持
粉丝 2
博文 88
码字总数 90487
×
webphp
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: