原理
先将图片保存到临时文件,然后从临时文件读取字节流并删除零时文件
创建临时文件
-
tempnam
tempnam() 函数创建一个具有唯一文件名的临时文件,若成功,则该函数返回新的临时文件名,若失败,则返回false。
语法:tempnam(dir,prefix)
ps:用完后需要主动删除
- tmpfile
tmpfile() 函数以读写(w+)模式建立一个具有唯一文件名的临时文件,文件会在关闭后用 fclose(),或当脚本结束后自动被删除,
- $temp = tmpfile(); fwrite($temp, "testing, testing.");
- //倒回文件的开头 rewind($temp);
- //从文件中读取 1k echo fread($temp,1024);
- //删除文件 fclose($temp);
代码
public function gd()
{
//创建了一个临时文件
$imgPath = tempnam(sys_get_temp_dir(), 'k');
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
imagepng($im,$imgPath);
imagedestroy($im);
$data = file_get_contents($imgPath);
@unlink($imgPath);
dump($data);
}