Reputation: 125
Sir, I have used the PHP Barcode Generator Class to generate Code 39 barcode; I have used from http://www.shayanderson.com/php/php-barcode-generator-class-code-39.htm
Here is the code;
//include Barcode39 class
include "Barcode39.php";
//set Barcode30 object
$bc = new Barcode39("Nimal Perera");
//display new barcode
$bc->draw();
When I run this, why would I get this error?
Notice: Array to string conversion in C:\xampp\htdocs\PHP\Barcode39.php on line 269
It mentions that requirements: Requirements: PHP Web server and GD Library (Graphics Library).
I do not what GD Library means? I have XAMPP server in localhost. Please help me.
UPDATE!!!
I am beginner to barcode programming. This is my first example. Please tell if this is the good library for me to start? or are there any libraries that is suitable for a beginner with examples and documentations? What libraries are popular?
UPDATE!!
I checked if I have installed GD. Here is screenshot
Upvotes: 1
Views: 2158
Reputation: 4218
Line 269 of Barcode39.php is:
imagefilledrectangle($img, $bars[$i][0], $bars[$i][1], $bars[$i][2], $bars[$i][3], $$bars[$i][4]);
PHP 7.0 introduced a backwards-incompatible change relating to the interpretation of $$
. $$foo['bar']['baz']
used to mean ${$foo['bar']['baz']}
and now means ($$foo)['bar']['baz']
.
You should be able to fix the problem by replacing line 269 in the library with:
imagefilledrectangle($img, $bars[$i][0], $bars[$i][1], $bars[$i][2], $bars[$i][3], ${$bars[$i][4]});
Then file a bug report with the author.
Upvotes: 5