文档章节

CURL远程服务上传文件

webphp
 webphp
发布于 2017/07/26 11:28
字数 284
阅读 11
收藏 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;
}
?>
 

© 著作权归作者所有

共有 人打赏支持
webphp
粉丝 1
博文 92
码字总数 92338
作品 0
海淀
程序员
linux常见上传下载,以及跨机器文件传输命令总结。

linux常见上传下载,以及跨机器文件传输命令总结。 近来项目完成了,搭建测试环境时,需要下载一些软件,还有由于堡垒机的存在,多个服务器之间文件的相互拷贝,十分麻烦,特来总结了一下,加...

奇葩界张三
2017/04/26
0
0
lnmp架构下php安全配置分享

以往的lamp网站向着lnmp发展, 笔者工作环境使用lnmp多年, 在这里很高兴和大家分享一下多年的lnmp网站的php安全配置,至于lamp安全后续与大家分享,其实内容上八成相同,这边着重讲php安全配置...

小运
2013/08/26
0
23
模拟php curl向远程服务器上传文件

test.php: <?php header('content-type:text/html;charset=utf8'); $ch = curl_init(); //加@符号curl就会把它当成是文件上传处理 $data = array('img'=>'@'. dirname(FILE).'/img/1.jpg');......

Adam-Lee
2012/04/20
0
2
《CURL技术知识教程》系列技术教程整理

《CURL技术知识教程》系列技术教程整理 有时间会不断更新,大家有什么好的推荐的可以在下面回复,我会酌情收录 1PHP采集相关教程之一 CURL函数库 2php中通过curl模拟登陆discuz论坛的实现代码...

开元中国2015
2015/05/07
470
0
php中curl、fsockopen的应用

最近要用到通过post上传文件,网上盛传的有curl的post提交和fsockopen,其中curl最简单,于是从最简单的说起。 这是简单的将一个变量post到另外一个页面 $url = ''; $data = array('a'=> 'b'...

zyt_1978
2016/03/16
3
0

没有更多内容

加载失败,请刷新页面

加载更多

中国移动蔡谦:5G传输准备就绪

目前5G已成业界热议话题,在即将到来的万物互联时代,5G是非常关键的技术。且5G相比4G,业务场景多种多样,对5G承载网带来巨大挑战。5G传输,承载先行并不仅仅是一个口号。当前5G承载网的部署...

linux-tao
24分钟前
4
0
维护“修理权”,苹果使用专有软件工具来修复MacBook Pro和iMac Pro

根据上月发给苹果授权服务提供商的一份文件,苹果公司正在使用新的专有软件诊断工具来修复MacBook Pros和iMac Pros,如果不用专有软件工具来修复关键部件,将会导致“系统失效和修复不完整”...

linuxCool
54分钟前
2
0
cacti监控安装

cacti是用PHP实现的一个软件,它用snmp服务获取数据,然后用rrdtool存储和更新数据,并生成图表展示。比较适合用于交换机、路由器的网络监控,插件众多,可图示化显示网络状况。 cacti官方推...

hiwill
今天
4
0
shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
今天
4
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部