有朋友提出在 server 解讀 QRcode 的想法,覺得很有趣。
例如將大批要歸檔的資料轉成 QRcode,貼在文件上,掃描器掃描後上傳到伺服器,伺服器上的程式就可解讀 QRcode 後進行歸檔程序。
不過截至目前(2011-07-28) 尚沒有 PHP 解讀 QRcode 的程式或函式庫,只能借助 java 之力了。
先檢查您的網站是否有安裝 java,伺服器上至少要安裝 java 執行環境,我的伺服器為 CentOS5.x,故我用 yum 安裝.
[root]# yum install java
若還要改寫原作者的程式, 則還需要 java 編譯器.
[root]# yum whatprovides javac
[root]#yum install java-1.6.0-openjdk-devel
QRcode 是日本公司發明的,日本也很佛心的推出開源且免費的 QRcode 解讀程式,目前是 0.9 版。
到 http://qrcode.sourceforge.jp/ 下載,解壓縮後找到 bin 目錄下有個 qrcode-cui.jar,將它上傳到您自己的網站上,以本文為例,我在我網站下新建一個目錄 qrcode,再將 qrcode-cui.jar 放進該目錄下。
寫一個 PHP 小程式,如下:
... ... $str = exec('java -cp qrcode/qrcode-cui.jar example/QRCodeDecoderCUIExample wiki1.jpg'); echo 'wiki1-->'.$str; ... ...
簡單說明一下(我也只能提供這一些些, 因為我也不熟 java... :-P ) ----
參數 -cp 代表 classpath,為尋找類別的路徑,因為我放在 qrcode 下,所以是 qrcode/qrcode-cui.jar
example/QRCodeDecoderCUIExample 是作者原始碼所設定的,所以這一段不要去動它。
wiki1.jpg 表含有 QRcode 要解讀的圖檔,圖檔若與程式放在同一目錄下,就只要寫出檔名,若在其他目錄下,如 image 目錄,則寫為 image/wiki1.jpg
在本例中, 該圖檔解讀出來下列文字
http://zh.wikipedia.org
QRcode 和傳統條碼比較, 優點不僅是可容納較多的文字, 並且幾乎沒有方向限制, 也就是即使歪斜的 QRcode 也可以解讀出來。
沒有留言:
張貼留言