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 次 )
最佳答案