[PHP] อ่านบาร์โค้ดด้วย PHP

ทดสอบการอ่านบาร์โค้ด Code39
และแล้วก็มีอะไรมาให้เขียนซะที เฮ้~~~~~~~

เริ่มจากได้รับเควส "ให้ไปหาวิธีอ่านบาร์โค้ดผ่านเว็บไซต์" เลยงมไปเรื่อย ออกนอกทะเลไปนานมาาาาาาาก

จนมาเจอตัวนี้ฮะ php-zbarcode
https://github.com/mkoppanen/php-zbarcode

สิ่งที่ ZBarcode ต้องการ
  1. ImageImagick
  2. zbar
การติดตั้งบน Ubuntu(เทสบน 14.04)
ImageImagick - หากในเว็บมันอธิบายยากไป ใครที่ใช้ Ubuntu สามารถติดตั้งง่ายๆ ด้วย
sudo apt-get install php5-imagick
เป็นอันจบ

zbar - ตัวนี้ออกทะเลไปนานมากเพราะไปลากไฟล์ .tar.bz2 มาติดตั้งเอง จนเริ่มรำคาญ แล้วก็ไปค้นพบว่า เห้ย เค้ามีให้ติดตั้งเว้ย... ผ่าาาาาางงงงงง
sudo apt-get install libzbar-dev
จบ .... T^T

มาถึงพระเอกของเรา php-zbarcode ... ไม่ต้องรอทั่นประทานมาตัดริบบิ้นฮะ ... จัดไปเบยยย
phpize
./configure
sudo make
sudo make install

จากนั้นไป config ใน php.ini โดยเพิ่ม
extension=zbarcode.so

เสร็จแล้วก็ sudo service apache2 restart เพื่อความชัวร์เช็ก modules ก่อนว่าโหลดมาจริงรึป่าวด้วย php -m ถ้ามี zbarcode แสดงขึ้นมาก็ใช้ได้แล้วจ้า

โค้ดตัวอย่างอยู่ใน github ของ zbarcode เลย

เป็นอันจบเควส เย้ เย

การติดตั้งบน CentOS(เทสบน CentOS 6)
เตรียมความพร้อมก่อนติดตั้ง
$ yum groupinstall "Development Tools"
$ yum install gtk+-devel gtk2-devel ImageMagick-c++ libXv libv4l python-devel pygtk2 pygtk2-devel qt qt-devel

ติดตั้ง ImageMagick
$ wget http://www.imagemagick.org/download/ImageMagick.tar.gz
$ tar xvzf ImageMagick.tar.gz
$ cd ImageMagick-6.9.2
$ ./configure
$ make
$ sudo make install
จงตามไปอ่านต่อ http://www.imagemagick.org/script/install-source.php


ติดตั้ง zbar
$ wget https://www.dropbox.com/s/xuekvcc2lzad2wt/zbar-0.10.tar.gz?dl=0
$ tar xvzf zbar-0.10.tar.gz
$ cd zbar-0.10
$ ./configure
$ make
$ make install

!!! แก้ไขเพิ่มเติม !!!
ถ้ามันยุ่งยากกับชีวิตมากไปเราขอแนะนำ Extra Package บน CentOS โดยการ
$ wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm
แค่นี้เราก็สามารถ
$ yum install zbar zbar-devel ImageMagick ImageMagick-devel
ง่ายๆ ได้แบ๊วววววว *[]*
อ่านต่อได้ที่ How to Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x

ขั้นตอนการปรับแต่ง PHP
*** คำเตือน ***
เพราะ CentOS ที่ใช้เทสมีการรัน PHP 2 Version ในเครื่องเดียวกันเลยอาจจะมี Path แปลกๆ โผล่ขึ้นมา โปรดตรวจสอบก่อนที่จะก๊อบไปใช้งาน

กรณีที่สั่ง phpize แล้วติด Permission
ให้ chmod ก่อน โดยสั่ง
$ chmod -R +x php-5.3.29/scripts/

ติดตั้ง PHP-ImageMagick จาก Peal
$ wget https://pecl.php.net/get/imagick-3.1.2.tgz
$ tar xvzf imagick-3.1.2.tar.gz
$ cd imagick-3.1.2
$ ../PATH/TO/YOUR/phpize
ตัวอย่างเช่น
$ ../php-5.3.29/scripts/phpize

$ ./configure --with-php-config=PATH/TO/YOUR/scripts/php-config
ตัวอย่างเช่น
$ ./configure --with-php-config=../php-5.3.29/scripts/php-config
$ make
$ make install

ติดตั้ง PHP-Zbarcode
$ git clone https://github.com/mkoppanen/php-zbarcode.git
$ cd php-zbarcode
$ ../php-5.3.29/scripts/phpize
$ ./configure --with-php-config=../php-5.3.29/scripts/php-config
$ make
$ make install

ปรับ php.ini
extension = zbarcode.so
extension = imagick.so
สุดท้าย restart service ... แต่ใน VM ที่เทสมันค้าง ... ไม่รู้ว่าเพราะอะไรเลย reboot แม่มเลย

คราวนี้จบเควสจริงๆ ละ ชะเอิง เงิงเงยยยยยย

Comments