php新手,求助大家,我用开源的php qr code生成二维码图片缓存在本地文件夹,去读取时,页面上报了一堆乱码的错误提示,应该是php的提示信息,不知道怎么去解决。
读写二维码图片的代码
//读缓存function read_qrcode_cache($filename){ $result = array(); if (!empty($result[$filename])) { return $result[$filename]; } $filepath = phpmps_root . 'data/qrcodecache/' . $filename; if (file_exists($filepath)) { include_once($filepath); $result[$filename] = $data; return $result[$filename]; } else { return false; }}//写入缓存function write_qrcode_cache($filename, $val){ $errorcorrectionlevel = 'l';//容错级别 $matrixpointsize = 4;//生成图片大小 $filepath = phpmps_root . 'data/qrcodecache/' . $filename; qrcode::png($val, $filepath, $errorcorrectionlevel, $matrixpointsize, 0); }//调用缓存函数的代码 $value = 'begin:vcardversion:3.0n:' . $info['title'] . 'tel:0575-87238712tel;cell:18969558900org:' . $info['title'] . 'end:vcard'; $filename = md5($value).'.png'; $data = read_qrcode_cache($filename); if ($data === false) { write_qrcode_cache($filename,$value); } $info['qrcode'] = $cfg['weburl'] . '/data/qrcodecache/' . $filename;
报的错误信息:
谢谢~~
回复讨论(解决方案) 你那不是错误信息,而是 png 图片数据流
图片要用 img 标记显示,直接输出的浏览器自然是乱码了
你那不是错误信息,而是 png 图片数据流
图片要用 img 标记显示,直接输出的浏览器自然是乱码了
先谢谢版主的回答,我是通过img标签输出的,
图片也能在页面正常的显示 $info['qrcode'] 是 文件名
显然你还在哪里直接输出了图片内容
$info['qrcode'] 是 文件名
显然你还在哪里直接输出了图片内容
噢,那请问这个要怎么去处理的 function read_qrcode_cache($filename)
{
$result = array();
if (!empty($result[$filename])) {
return $result[$filename];
}
$filepath = phpmps_root . 'data/qrcodecache/' . $filename;
if (file_exists($filepath)) {
include_once($filepath); 去掉这行
$result[$filename] = $data;
return $result[$filename];
} else {
return false;
}
}
function read_qrcode_cache($filename)
{
$result = array();
if (!empty($result[$filename])) {
return $result[$filename];
}
$filepath = phpmps_root . 'data/qrcodecache/' . $filename;
if (file_exists($filepath)) {
include_once($filepath); 去掉这行
$result[$filename] = $data;
return $result[$filename];
} else {
return false;
}
}
确实是这个引起的,基础不扎实,谢谢版主了。