模拟php curl向远程服务器上传文件

原创
2012/04/20 11:56
阅读数 2.5W

test.php:

<?php
header('content-type:text/html;charset=utf8');

$ch = curl_init();

//加@符号curl就会把它当成是文件上传处理
$data = array('img'=>'@'. dirname(__FILE__).'/img/1.jpg');
curl_setopt($ch,CURLOPT_URL,"http://localhost:8088/curl/get_img.php");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$result = curl_exec($ch);
curl_close($ch);
echo json_decode($result);

?>

get_img.php:

<?php
if($_FILES){
 $filename = $_FILES['img']['name'];
 $tmpname = $_FILES['img']['tmp_name'];
 if(move_uploaded_file($tmpname,dirname(__FILE__).'/upload/'.$filename)){
  echo json_encode('上传成功');
 }else{
  $data = json_encode($_FILES);
  echo $data;
 }
}

?>

当我访问test.php时将会显示“上传成功”,且upload文件夹下会生成1.jpg图片文件。

2012年4月20日    李汉团

展开阅读全文
打赏
0
6 收藏
分享
加载中
我这试了,不行呀,$_FILES是空的。需要什么设置吗???
2015/06/11 17:35
回复
举报
请问一下,如果我不想提交文件,而上传的是时候是@开头应该是哪个参数呢?
2012/11/28 12:12
回复
举报
更多评论
打赏
2 评论
6 收藏
0
分享
返回顶部
顶部