bae学习过程之云存储远程图片

浏览:2940 发布日期:2013/08/28 分类:技术分享 关键字: bae 云存储 远程图片
之前发布了一篇文章“bae学习过程之体验篇”
http://www.thinkphp.cn/topic/3961.html
这次就说一下利用bae来存储远程图片,这次就不用担心你的附件大了,当然不仅仅是可以存图片,也可以存任何文件(违法视频自负啊,哈哈)
废话少说,直接说过程
1.先创建 bucket


3.把下面的代码上传到bae环境,访问<?php 
    function getFileDomain($bucket){
        if(!IS_BAE) return '';
        return 'http://'.HTTP_BAE_ENV_ADDR_BCS.'/'.strtolower($bucket);
    }
    $tempFileName = tempnam(sys_get_temp_dir(),'tp_');
    $sourceFileName = 'http://www.thinkphp.cn/Public/new/img/header_logo.png';
    file_put_contents($tempFileName, file_get_contents($sourceFileName));
    $fileInfo = pathinfo($sourceFileName);
    $srcFile =  $tempFileName;
    $ext = 'png'; //这是要保存的图片后缀 TO DO 写一个方法根据原始图片获得后缀
    $fileExt = '.'.$ext; 
    $bucket='testbae'; //这里是你刚才创建的bucket
    $savePath = '/'.date('Ymd').'/'. uniqid().$fileExt;
    try{
        $bcs=new BaiduBCS();
        $response=$bcs->create_object($bucket, $savePath,$srcFile,array('acl'=>BaiduBCS::BCS_SDK_ACL_TYPE_PUBLIC_READ));
        if($response->isOK()){
            $srcFile = getFileDomain($bucket) . $savePath;
            echo "<img src='{$srcFile}' /><br/>{$savePath}";
        }
    }catch(Exception $e){
        die('failed');
    }
 
?>
马上就可以看到你的东西了,高兴吧

附件 1.jpg ( 72.97 KB 下载:9 次 )

最佳答案
评论( 相关
后面还有条评论,点击查看>>