一般phpGD库生成图片后 会使用imagepng(图片对象,‘路径’)。。 来保存图片到本地
今天将生成好的图片直接上传至oss 方法 分享一下
1.操作GD库生成图片的代码。。。 此处省略 ,当需要保存的时候
2.
ob_start(); //启用输出缓冲
imagepng($img); //输出图像
$imagebin = ob_get_contents(); //将缓冲的数据存入变量
$object = '111.png'; //图片名称
// 创建临时文件写入缓冲的图片流数据
$filePathTmp = tempnam("/tmp/", "wiyoo");
$handle = fopen($filePathTmp, "w");
if (fwrite($handle, $imagebin)) {
// 将图片从临时文件上传至oss
$imageObj = new Images();
$ossClient = new OssClient($imageObj::ACCESSID, $imageObj::ACCESSSECRET, $imageObj::ENDPOINT);
$ossClient->uploadFile($imageObj::BUCKET, $object, $filePathTmp);
ob_end_clean(); //结束并清空输出缓存
fclose($handle);
unlink($filePathTmp);
}