PHP直接将文件流转换为字符串

背景

有时你生成一个图片但是你不想保存为文件,而只想以字符串的形式返回给客户端
注意:下面的案例中我是以二维码为例,具体的生成方法太多我不会展示出来,总之php生成二维码的方式基本都是GD这个库,重要的是ob_start(),imagepng(),ob_end_clean ()方法

	//这个我生成二维码的类方法
	$qrCode = new QrCode($url);
	//开启缓冲区
        ob_start ();       
        //$qrCode->getImage()其实,就是生成二维码不保存到文件中,直接返回GD资源
        //imagepng展示出图片
        imagepng ($qrCode->getImage());       
        $imageData = ob_get_contents ();        
        ob_end_clean ();       
        //得到这个结果,可以直接用于前端的img标签显示
        $imageDataBase64 = "data:image/png;base64,". base64_encode ($imageData);
        echo "";

你可能感兴趣的:(PHP)