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

http://my.oschina.net/adamboy/blog/54436


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

你可能感兴趣的:(PHP)