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

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日    李汉团

你可能感兴趣的:(curl文件上传)