设置路径形式,如果为true,则启用三级域名,如bucket.oss.aliyuncs.com
public set_enable_domain_style ( boolean $enable_domain_style = true ) : void | ||
$enable_domain_style | boolean | |
return | void |
/** * @param 上传图片到aliyun oss * @param [obj] 阿里云sdk 可不填 * @param [imgName] 图片名称 * @param [content] 图片地址 * @param [save_type] 保存图片时的模式 url=>表示传入url 上传 否则为图片的源数据 * @return [ossImgUrl] */ public function upload_by_content($obj = "", $imgName, $content, $save_type = 'url') { if (empty($obj)) { /** * 加载sdk包以及错误代码包 */ $sdkPath = dirname(__FILE__); require_once $sdkPath . '/sdk.class.php'; $obj = new ALIOSS(); //设置是否打开curl调试模式 //$obj->set_debug_mode(FALSE); //设置开启三级域名,三级域名需要注意,域名不支持一些特殊符号,所以在创建bucket的时候若想使用三级域名,最好不要使用特殊字符 $obj->set_enable_domain_style(TRUE); } $bucket = QRIMG_B; $folder = 'headimg/'; $object = $folder . $imgName; if ($save_type == 'url') { $content = file_get_contents($content); } else { $content = $content; } $upload_file_options = array('content' => $content, 'length' => strlen($content), ALIOSS::OSS_HEADERS => array('Expires' => date('Y-m-d H:i:s', time() + 3600 * 24 * 10))); $response = $obj->upload_file_by_content($bucket, $object, $upload_file_options); //echo 'upload file {'.$object.'}'.($response->isOk()?'ok':'fail')."\n"; //_format($response); return HTTP_IMG_HOST . $object; }
<?php /** * 加载sdk包以及错误代码包 */ require_once '../sdk.class.php'; $oss_sdk_service = new ALIOSS(); //设置是否打开curl调试模式 $oss_sdk_service->set_debug_mode(false); //设置开启三级域名,三级域名需要注意,域名不支持一些特殊符号,所以在创建bucket的时候若想使用三级域名,最好不要使用特殊字符 $oss_sdk_service->set_enable_domain_style(DOMAIN_THREE); /** * 测试程序 * 目前SDK存在一个bug,在文中如果含有-&的时候,会出现找不到相关资源 */ try { /** * Service相关操作 */ //get_service($oss_sdk_service); /** * Bucket相关操作 */ //create_bucket($oss_sdk_service); //delete_bucket($oss_sdk_service); //set_bucket_acl($oss_sdk_service); //get_bucket_acl($oss_sdk_service); //set_bucket_logging($oss_sdk_service); //get_bucket_logging($oss_sdk_service); //delete_bucket_logging($oss_sdk_service); //set_bucket_website($oss_sdk_service);
function sign_url($file, $host = '') { $obj = new ALIOSS(); if ($host != '') { $obj->set_vhost($host); } else { $obj->set_host_name("oss.aliyuncs.com"); } $obj->set_enable_domain_style(); $obj->set_debug_mode(FALSE); $bucket = $this->bucket; $file = jishigou_oss::clear($file); $timeout = $this->stimeout; $response = $obj->get_sign_url($bucket, $file, $timeout); return $response; }