您的位置:首页 > 编程语言 > PHP开发

关于curl 上传图片的问题

2016-04-06 10:20 603 查看
最近php升级到5.6了,以前能用的curl上传图片都不能用了,然后一直找方法解决。今天搞定,记录一下,一边以后用上

$imgid = "在一台服务器上的地址"
$img_save_path ='另外一台服务器图片保存路径';
$post_url = '.php文件';

if (class_exists('\CURLFile')) {//php>5.4
$post_data = array(
"path" => $img_save_path,
"image"  => new \CURLFile($imgid)
);
} else {
$post_data = array(
"path" => $img_save_path,
"image"  => '@'.$imgid
);
}

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $post_url);
curl_setopt($curl, CURLOPT_POST, 1 );
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);


php 文件

define('ROOT_PATH', $_SERVER['DOCUMENT_ROOT']);
if(trim($_POST['path']) == ''){
$msg = '保存路径不一致!';
$returnArr = array('status'=>0, 'msg'=>$msg);
echo json_encode($returnArr);
exit;
}

if(empty($_FILES['image']['name'])){
$msg = '未选择上传图片!';
$returnArr = array('status'=>0, 'msg'=>$msg);
echo json_encode($returnArr);
exit;
}

$save_name = str_replace('.jpg','',$_FILES['image']['name']);
$returnArr = uploadFile('image',ROOT_PATH.trim($_POST['path']),$save_name);
echo json_encode($returnArr);
exit;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  curl php