バーコード イメージを生成するクラスはたくさんありますが、有効な EAN13 番号を作成する関数が見つかりません。内部番号は 200 から開始する必要があります ... 指定された値の次の有効な EAN となる有効な EAN13 番号を生成するにはどうすればよいですか?
検証関数は次のようになります。
function ean13_check($digits){
if($digits <= 0) return 0;
while(strlen($digits) < 13){
$digits = '0'.$digits;
}
$digits=preg_split("//",$digits,-1,PREG_SPLIT_NO_EMPTY);
$a=$b=0;
for($i=0;$i<6;$i++){
$a+=(int)array_shift($digits);
$b+=(int)array_shift($digits);
}
$total=($a*1)+($b*3);
$nextten=ceil($total/10)*10;
return $nextten-$total==array_shift($digits);
}