function file_writeBAE($file, $data) { global $_W; $file = str_replace(IA_ROOT.'/', '', $file); $file = $file[0] == '/' ? $file : '/'.$file; $pathinfo = pathinfo($file); $baiduBCS = new BaiduBCS($_W['config']['bae']['ak'], $_W['config']['bae']['sk']); $response = $baiduBCS->create_object_by_content($_W['config']['bae']['bucket'], $file, $data, array('acl' => BaiduBCS::BCS_SDK_ACL_TYPE_PUBLIC_READ)); if ($response->isOK()) { $baiduBCS->set_object_meta($_W['config']['bae']['bucket'], $file, array("Content-Type" => BCS_MimeTypes::get_mimetype($pathinfo['extension']))); $result['success'] = true; } }
function xmlrpc_upload($args) { $data = $args[3]; $name = sanitize_file_name($data['name']); $type = $data['type']; $bits = $data['bits']; require_once 'bcs.class.php'; $bcs_options = get_option('bcs_options', TRUE); $bcs_bucket = attribute_escape($bcs_options['bucket']); if (false === getenv('HTTP_BAE_ENV_AK')) { $bcs_ak = attribute_escape($bcs_options['ak']); } if (false === getenv('HTTP_BAE_ENV_SK')) { $bcs_sk = attribute_escape($bcs_options['sk']); } $baidu_bcs = new BaiduBCS($bcs_ak, $bcs_sk); $bucket = $bcs_bucket; $object = "/" . $name; $opt = array("acl" => "public-read"); $baidu_bcs->create_object_by_content($bucket, $object, $bits, $opt); $url = "http://bcs.duapp.com/{$bucket}{$object}"; return array('file' => $url, 'url' => $url, 'type' => $data['type']); }
function xmlrpc_upload($args) { $data = $args[3]; $name = sanitize_file_name($data['name']); $type = $data['type']; $bits = $data['bits']; require_once 'bcs.class.php'; $bcs_options = get_option('bcs_options', TRUE); $bcs_bucket = attribute_escape($bcs_options['bucket']); if (false === getenv('HTTP_BAE_ENV_AK')) { $bcs_ak = attribute_escape($bcs_options['ak']); } if (false === getenv('HTTP_BAE_ENV_SK')) { $bcs_sk = attribute_escape($bcs_options['sk']); } $baidu_bcs = new BaiduBCS($bcs_ak, $bcs_sk); $bucket = $bcs_bucket; $object = "/" . $hiPath . "/" . $name; $opt = array("acl" => "public-read"); $baidu_bcs->create_object_by_content($bucket, $object, $bits, $opt); if ($is_Enabled_asl) { $referer = attribute_escape($bcs_options['referer']); $referer2 = attribute_escape($bcs_options['referer2']); if (!empty($referer)) { if (!empty($referer2)) { $referer = array($referer, $referer2); } else { $referer = array($referer); } } else { $referer = preg_replace('#^www\\.#', '', strtolower($_SERVER['SERVER_NAME'])); $referer = '*.' . preg_replace('#^blog\\.#', '', $referer) . '/*'; $referer = array($referer); } $acl = array('statements' => array('0' => array('user' => array("*"), 'resource' => array($bucket . $object), 'action' => array(BaiduBCS::BCS_SDK_ACL_ACTION_GET_OBJECT), 'effect' => BaiduBCS::BCS_SDK_ACL_EFFECT_ALLOW, 'referer' => $referer))); $baidu_bcs->set_object_acl($bucket, $object, $acl); } $url = "http://bcs.duapp.com/{$bucket}{$object}"; return array('file' => $url, 'url' => $url, 'type' => $data['type']); }