2010-10-10 15 views
32

Czy istnieje zwykła implementacja PHP do dekodowania kodów QR?Jak można czytać kody QR w PHP?

Mam faux-smartphone. Jeden z tych telefonów, który paraduje jako smartfon, ale nie mogę pobrać żadnych aplikacji i chcę utworzyć usługę e-mail, w której mogę zrobić zdjęcie kodu QR, wysłać wiadomość MMS na tę wiadomość e-mail, a wiadomość e-mail zwraca co zawiera kod QR.

Jednak jedyne biblioteki, jakie udało mi się znaleźć, znajdują się w Pythonie (i prawdopodobnie w C++), z których żadna nie jest dostępna na moim ograniczonym środowisku hostingowym.

Czy istnieje sposób na odczyt kodów QR przy użyciu tylko PHP?

Odpowiedz

20

Istnieje tylko jeden czysty dekoder kodu QR QR. Współpracuje z biblioteką GD, ale może także używać ImageMagick. Ten czytnik kodów QR PHP jest przeniesiony z ZXing.

https://github.com/khanamiryan/php-qrcode-detector-decoder

+0

Zawsze myślałem o zrobieniu tego samemu, ale nigdy nie uznałem, że warto poświęcić czas na kompromis. Jesteś niesamowity. – Navarr

+1

Dziękuję, mogą być pewne problemy, ale to działa dobrze. –

+0

@AshotKhanamiryan jest dostępna dokumentacja? Szukam debugowania/komunikatów o błędach ... – powtac

14

Nie jestem świadomy żadnego czystego dekodera php. Dekodowanie obrazów w ten sposób jest dość intensywne procesorowi, a robienie tego w czysto interpretowanym języku jest wyzwaniem.

zxing (http://code.google.com/p/zxing/) zapewnia implementację dekodera w językach Java i C++. Teoretycznie powinno być możliwe połączenie biblioteki C++ jako rozszerzenia php, choć nie wiem nic o tej mechanice. Zrobiłem to dla Ruby ...

Co więcej, zxing ma dekoder online pod numerem http://zxing.org/w/decode.jspx. Myślę, że z PHP możesz pobrać obraz i opublikować go w serwisie internetowym i pobrać zdekodowane dane. Nie znam mechanizmu zdalnego wywoływania usług WWW z PHP i tego, jak różne środowiska hostingowe mogą to ograniczyć, ale wydaje się to uzasadnione?

+0

Ładne znalezisko z zxingiem. Szczerze się nad tym zastanawiam i interpretując kod QR w PHP, jeśli to możliwe, byłbym cholernie głupi. Chociaż PHP ma procedury sprawdzania wartości pikseli bitmapowych, jest to bardzo nieintuicyjne i jest zwykle używane do uśredniania kolorów nad i obszaru lub podobnych prostych technik matematycznych, nie znajdując wzorców. Dopasowywanie wzorców byłoby tak skomplikowane, że nie ma znaczenia. – stevendesu

+0

Jestem pewien, że mogę znaleźć sposób na wykorzystanie tego z moim PHP. Wielkie dzięki :) To jest dokładnie to, czego szukałem w taki czy inny sposób. : 3 – Navarr

9

Jeśli masz możliwość skorzystania z phpextension, php-zbarcode na https://github.com/mkoppanen/php-zbarcode może odczytać qrcodes. Jest to wrapper dla ZBar z http://zbar.sourceforge.net, który z kolei jest biblioteką LGPL C do dekodowania kodów kreskowych.

+0

Kudos. To jest lepsze niż wysyłanie do ZXing. – Navarr

+1

To opakowanie wydawało się obiecujące, ale teraz wydaje się porzucone, prawda? Czy ktoś podniósł płomień lub sprawił, że zadziałało? –

0

Tutaj jest dobrym przykładem & można generować Internecie bezpośredni kod QR też ...

jest również biblioteka php do wdrożenia kod QR w projekcie.

http://phpqrcode.sourceforge.net/