PHP の初心者です。助けてください。オープンソースの PHP QR コードを使用して QR コード画像を生成し、それをローカル フォルダーにキャッシュしたところ、ページ上で大量の文字化けしたエラー メッセージが報告されました。 PHPメッセージになるので解決方法がわかりません。
QR コード画像の読み取りと書き込み用のコード
//读缓存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タグで出力しました
7af5c5ef489d65299c7712b3f31ef53c 画像もページ上に普通に表示できます
$info['Qrcode'] はファイル名です
明らかに、画像コンテンツをどこかに直接出力しています
ああ、では、これをどのように処理しますか
function read_qrcode_cache($ファイル名)
return $result[$filename]; }
$filepath = 'data/qrcodecache/' 。 $ filename if($ filepath){include_once($ filepath); $result[$filename])) {
return $result[$filename];
$filepath = 'data/qrcodecache/' . $filename
if (file_exists($filepath)) {
include_once($) filepath); この行を削除します
$result[$filename ] = $Data;
Return $ Result [$ FILENAME]; else {
Return false;