当前位置:Gxlcms > PHP教程 > 有过SAE开发的过来见见

有过SAE开发的过来见见

时间:2021-07-01 10:21:17 帮助过:15人阅读

有过SAE开发的过来看看
本帖最后由 lzgctgc 于 2014-12-09 09:41:03 编辑

我用QRCode写的一个二维码生成,加logo本地生成是成功的。当在SAE上二维码生成成功,后面加logo却不行,难道SAE上不支持:imagecopyresampled函数。

function Build_SAEQrcode($filename = '', $text='', $size='8', $logo = false){
$return = false;
$level='H';
$padding=1;
$path = 'saestor://uploads/direwm/';
$QR = $path.$filename.".png";
vendor("phpqrcode.qrlib");
QRcode::png($text,$QR, $level, $size,$padding);
if($logo === true){
$QR = imagecreatefromstring(file_get_contents($QR));
$logocontext = imagecreatefromstring(file_get_contents('./uploads/logo.png'));


$QR_width = imagesx($QR);
$QR_height = imagesy($QR);

$logo_width = imagesx($logocontext);
$logo_height = imagesy($logocontext);

$logo_qr_width = $QR_width / 5;
$scale = $logo_width / $logo_qr_width;
$logo_qr_height = $logo_height / $scale;
$from_width = ($QR_width - $logo_qr_width) / 2;
$return = imagecopyresampled($QR, $logocontext, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
header("Content-Type:image/png");
imagepng($QR, $path.$filename.".png");
}else $return = true;
imagedestroy($QR);
return $return;
}

------解决思路----------------------
以前用过,后来因为他不让我免费使用了,就放弃了

imagepng($QR, $path.$filename.".png");
是肯定不支持的,因为常规的文件系统不可用了。但去掉文件名($path.$filename.".png")是可以的

file_get_contents 是否还有用,没有测试过,不确定

人气教程排行