文档章节

CURL远程服务上传文件

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

© 著作权归作者所有

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

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

奇葩界张三 ⋅ 2017/04/26 ⋅ 0

lnmp架构下php安全配置分享

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

小运 ⋅ 2013/08/26 ⋅ 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 ⋅ 2

curl获取网站的响应时间

curl获取网站的响应时间 0.问题 总有人反馈说打开某个页面比较慢, 但是他们并不清楚到底慢在哪里。 同样的问题, 在我们访问外部业务的接口时, 往往也是感觉很慢, 但就是不清楚慢在哪里。...

双鱼座小龙 ⋅ 2017/05/14 ⋅ 0

php中curl、fsockopen的应用

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

zyt_1978 ⋅ 2016/03/16 ⋅ 0

《CURL技术知识教程》系列技术教程整理

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

开元中国2015 ⋅ 2015/05/07 ⋅ 0

cURL简单实例

cURL简单实例 curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于H...

Minho ⋅ 2012/01/16 ⋅ 0

菜单中点击某一选项,获取用户单独二维码图片但回复到微信窗口(asp实现)

微信关于上传多媒体接口调用请求说明如下: 微信官方是这么解释的,我想用asp实现被动回复图片消息,纯图片的, asp微信上传多媒体文件,也是curl post图片这块搞不明白 , 下面是php的写法 ...

小熊儿 ⋅ 2015/01/31 ⋅ 0

PHP采集相关教程之一 CURL函数库

先写一个简单的抓取页面函数 [php] view plaincopy <?php function GetSources($Url,$User_Agent='',$Referer_Url='') //抓取某个指定的页面 { //$Url 需要抓取的页面地址 //$User_Agent 需要......

蜗牛奔跑 ⋅ 2015/06/26 ⋅ 0

curl

吴之恒心 ⋅ 2017/02/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何优雅的编程——C语言界面的一点小建议

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以...

柳猫 ⋅ 22分钟前 ⋅ 0

从零手写 IOC容器

概述 IOC (Inversion of Control) 控制反转。熟悉Spring的应该都知道。那么具体是怎么实现的呢?下面我们通过一个例子说明。 1. Component注解定义 package cn.com.qunar.annotation;impo...

轨迹_ ⋅ 23分钟前 ⋅ 0

系统健康检查利器-Spring Boot-Actuator

前言 实例由于出现故障、部署或自动缩放的情况,会进行持续启动、重新启动或停止操作。它可能导致它们暂时或永久不可用。为避免问题,您的负载均衡器应该从路由中跳过不健康的实例,因为它们...

harries ⋅ 24分钟前 ⋅ 0

手把手教你搭建vue-cli脚手架-详细步骤图文解析[vue入门]

写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目环境的时候也是...

韦姣敏 ⋅ 35分钟前 ⋅ 0

12c rman中输入sql命令

12c之前版本,要在rman中执行sql语句,必须使用sql "alter system switch logfile"; 而在12c版本中,可以支持大量的sql语句了: 比如: C:\Users\zhengquan>rman target / 恢复管理器: Release 1...

tututu_jiang ⋅ 49分钟前 ⋅ 0

Nginx的https配置记录以及http强制跳转到https的方法梳理

Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装方法: ...

Yomut ⋅ 今天 ⋅ 0

SpringCloud Feign 传递复杂参数对象需要注意的地方

1.传递复杂参数对象需要用Post,另外需要注意,Feign不支持使用GetMapping 和PostMapping @RequestMapping(value="user/save",method=RequestMethod.POST) 2.在传递的过程中,复杂对象使用...

@林文龙 ⋅ 今天 ⋅ 0

如何显示 word 左侧目录大纲

打开word说明文档,如下图,我们发现左侧根本就没有目录,给我们带来很大的阅读障碍 2 在word文档的头部菜单栏中,切换到”视图“选项卡 3 然后勾选“导航窗格”选项 4 我们会惊奇的发现左侧...

二营长意大利炮 ⋅ 今天 ⋅ 0

智能合约编程语言Solidity之线上开发工具

工具地址:https://ethereum.github.io/browser-solidity/ 实例实验: 1.创建hello.sol文件 2.调试输出结果

硅谷课堂 ⋅ 今天 ⋅ 0

ffmpeg 视频格式转换

转 Mp4 格式 #> ffmpeg -i input.avi -c:v libx264 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 output.mp4#> ffmpeg -i input.avi -c:v libx264 -strict -2 -s 1......

Contac ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部