<?php session_start(); $dir = dirname(__FILE__); $dir = str_replace('modular', 'class', $dir); include_once $dir . DIRECTORY_SEPARATOR . 'upload.class.php'; include_once $dir . DIRECTORY_SEPARATOR . 'requires.php'; $upload = new upload(); $upload->upload_file(); $ch = curl_init(); if (!isset($_POST['replaceCaption'])) { $_POST['replaceCaption'] = '上传一张图片'; } $params = array('api_key' => DF_APIKEY, 'method' => 'photos.upload', 'v' => '1.0', 'call_id' => time(), 'session_key' => $_SESSION['key']['renren_token']['session_key'], 'format' => 'json', 'caption' => $_POST['replaceCaption']); //计算sig $params['sig'] = rr_generate_sig($params, DF_SECRETKEY); //计算sig时不要把要上传的文件包括在内。所以放到sig后面加入数组 $dir = dirname(__FILE__); $dir = str_replace('modular', 'upload', $dir); $params['upload'] = '@' . $dir . DIRECTORY_SEPARATOR . $upload->upload_final_name; // $params['upload'] = '@'.$_FILES['file']['tmp_name']; curl_setopt($ch, CURLOPT_URL, "http://api.renren.com/restserver.do"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //以文件流返回 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); $result = json_decode(curl_exec($ch), true); //数据入库 if ($result) { include_once '../class/db.class.php'; $db = new DB();
<?php $ch = curl_init(); $params = array('api_key' => '66bab534984c43b0bf8013ed66ef8e35', 'method' => 'photos.upload', 'v' => '1.0', 'call_id' => time(), 'session_key' => '6.cf4709e7ea425c66bfcc25a02bf82e64.2592000.1325174400-363524545', 'format' => 'json', 'caption' => 'This is the caption.'); //计算sig $params['sig'] = rr_generate_sig($params, 'cf7c0115182448c2ac10d1a1951a3e53'); //计算sig时不要把要上传的文件包括在内。所以放到sig后面加入数组 // $params['upload'] = '@C:\\tem.jpg'; $params['upload'] = '@D:\\wamp\\www\\xampp\\my-renren\\upload\\Apple14.jpg'; curl_setopt($ch, CURLOPT_URL, "http://api.renren.com/restserver.do"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); $result = curl_exec($ch); print_r(json_decode($result)); function rr_generate_sig($params, $secret) { ksort($params); $sig = ''; foreach ($params as $key => $value) { $sig .= "{$key}={$value}"; } $sig .= $secret; return md5($sig); }
function rr_post_body($method, $params) { $params['format'] = $format; $params['method'] = $method; $params['session_key'] = rr_get_session_key(); $params['api_key'] = RR_CONNECT_API_KEY; $params['call_id'] = time(); $params['format'] = 'JSON'; if (!isset($params['v'])) { $params['v'] = '1.0'; } $post_params = array(); foreach ($params as $key => &$val) { if (is_array($val)) { $val = implode(',', $val); } $post_params[] = $key . '=' . urlencode($val); } $post_params[] = 'sig=' . rr_generate_sig($params); return implode('&', $post_params); }