2010-10-10 76 views
32

Esiste una semplice implementazione PHP per la decodifica dei codici QR?Come puoi leggere i codici QR in PHP?

Ho un falso-smartphone. Uno di quei telefoni che sfilano come smartphone ma che non riesco a scaricare nessuna app, e voglio creare un servizio di posta elettronica dove posso scattare una foto di un codice QR, inviarlo tramite MMS a questa email e restituire l'email cosa contiene il codice QR.

Tuttavia, gli unici librerie sono stato in grado di trovare sono in Python (e probabilmente C++), nessuno dei quali posso accedere al mio ambiente di hosting limitato.

C'è un modo per leggere i codici QR utilizzando solo PHP?

risposta

20

C'è solo un decodificatore di codice QR PHP puro. Funziona con la libreria GD, ma può anche usare ImageMagick. Questo lettore di codice QR PHP viene portato da ZXing.

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

+0

Avevo sempre pensato di farlo da solo, ma non l'ho mai trovato che valeva la pena. Sei incredibile. – Navarr

+1

Grazie, ci possono essere alcuni problemi, ma funziona bene. –

+0

@AshotKhanamiryan c'è documentazione disponibile? Sto cercando messaggi di debug/errore ... – powtac

14

Io non sono a conoscenza di alcun decoder php puro. Decodificare le immagini come questa è piuttosto impegnativo per il processore e farlo in un linguaggio puramente interpretato è una sfida.

ZXing (http://code.google.com/p/zxing/) fornisce un'implementazione decoder in Java e C++. In teoria, dovrebbe essere possibile collegare la libreria C++ come estensione php, anche se non conosco nulla della meccanica di ciò. L'ho fatto per Ruby ...

Inoltre, ZXing ha un decoder online all'indirizzo http://zxing.org/w/decode.jspx. Il mio pensiero è che da PHP puoi prendere l'immagine e postarla sul webservice e recuperare i dati decodificati. Non conosco i meccanismi per effettuare chiamate di servizi Web remote da PHP e in che modo i diversi ambienti di hosting potrebbero limitarlo, ma sembra ragionevole?

+0

Bello trovare con lo zxing. Lo sto guardando onestamente e interpretare un codice QR in PHP, se possibile, sarebbe dannatamente sciocco. Sebbene PHP abbia routine per verificare il valore di un pixel bitmap, è molto intuitivo e viene generalmente utilizzato per calcolare la media dei colori su un'area e simili o semplici tecniche matematiche, senza trovare pattern. La corrispondenza dei pattern sarebbe così complicata da non avere significato. – stevendesu

+0

Sono sicuro di poter trovare un modo per utilizzarlo con il mio PHP. Grazie mille :) Questo è praticamente esattamente quello che stavo cercando in un modo o nell'altro. : 3 – Navarr

9

Se si ha la possibilità di utilizzare un phpextension, php-zbarcode allo https://github.com/mkoppanen/php-zbarcode può leggere qrcodes. È un wrapper per ZBar dal http://zbar.sourceforge.net, che a sua volta è una libreria LGPL C per decodificare i codici a barre.

+0

Complimenti. Questo è meglio che inviare a ZXing. – Navarr

+1

Questo involucro sembrava promettente ma ora sembra abbandonato, non è vero? Qualcuno ha raccolto la fiamma o è riuscita a farlo funzionare? –

0

Ecco un buon esempio & è possibile generare il codice a barre in linea diretta anche ...

v'è anche libreria PHP per implementare il codice QR nel progetto.

http://phpqrcode.sourceforge.net/

Problemi correlati