小文件到QR码

时间:2011-12-12 17:30:58

标签: php google-api qr-code

我基本上尝试使用Google的QR Code API从字节数组创建QR码。我试过通过Google的网络后端为“chl”提供了一个字节数组。变量(QR码的数据),但它似乎永远不会喜欢它。我已经使用Google的PHP示例作为我的代码的基础,但是如果有人知道使用Google的API简单地将字节数组转换为QR代码的替代方法,那么&#39 ; s唯一的目标。

<?php
// Create some random text-encoded data for a QR code.
//header('content-type: image/png');    
$url = 'https://chart.googleapis.com/chart?chid=' . md5(uniqid(rand(), true));
$chd = file($_FILES["file"]["tmp_name"]);

// Add image type, image size, and data to params.
$qrcode = array(
'cht' => 'qr',
'chs' => '300x300',
'choe' => 'ISO-8859-1',
'chl' => $chd);


// Send the request, and print out the returned bytes.
$context = stream_context_create(
array('http' => array(
  'method' => 'POST',
  'content' => http_build_query($qrcode))));
fpassthru(fopen($url, 'r', false, $context));
?>

有PHP,处理上传的文件并通过字节数组发送到Google的API。

2 个答案:

答案 0 :(得分:1)

file()函数给出一个字符串数组,在新行上分割。我想你只想要一个字符串。见file_get_contents()

确保

echo http_build_query($qrcode);

帮助您调试。

答案 1 :(得分:0)

您不能使用Google Chart Server对字节数组进行编码 - 它对字符串进行操作。我认为这些都是骇人听闻的尝试,但最终因为你找到的原因无法发挥作用。

您应该只在本地使用zxing项目中的编码器。它也可以在字符串上运行,但实际上你可以轻松地改变或注入一个直接指定字节数组的调用。