开发者社区> 问答> 正文

PHP生成可访问的url

已解决

展开
收起
2018-04-11 18:44:20 659 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

       1.根据域名本有的access key ID来生成

    function Signatureurl(){

           $ak="ak";

           $sk="sk";

           $domain="http://www.a.com/";//图片域名或bucket域名

           $expire=time()+3600;

           $bucketname="buname";

           $file="mulu/1.jpg@100h";//或者"mulu/1.jpg@!样式名或者 mulu/1.jpg”

           $StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file;

           $Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));

           $url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign);

           echo $url."\n";

    }

    2. 根据临时账户密码安全token获取签名URL,目前只支持bucket源域名及bucket绑定的域名,图片服务域名暂时不支持临时账户ID来签名URL访问

    function Signaturestsurl(){

           $ak="stsak";

           $sk="stssk";

           $token="token";

           $domain="http://www.a.com/";

           $expire=time()+3600;

           $bucketname="buname";

           $file="mulu/1.jpg";

           $StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file."?security-token=".$token;

           $Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));

           $url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign)."&security-token=".urlencode($token);

           echo $url."\n";

    }

    如果问题还存在,请联系阿里云售后支持

     

    2018-04-15 02:18:50
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载