私は自分のサイトでバーコード生成を使用しました。HTMLタグ内で使用した場合、正常に機能しています。
<div class="barcode_img"><img src="<?php echo AT::getUrl(); ?>/barcode/image.php?code=code39&o=1&dpi=150&t=30&r=1&rot=0&text=TEST NAME WITH SPACE&f1=Arial.ttf&f2=10&a1=&a2=&a3=" class="barcode fr"/></div>
その画像を取得して、「media /barcode/」というローカルフォルダに保存する必要があります。そのために、私は以下のコードを使用しました:
$valid_barcodename="testimage";
$barcodeurl = AT::getUrl() . "barcode/image.php?code=code39&o=1&dpi=150&t=30&r=1&rot=0&text=TEST NAME WITH SPACE&f1=Arial.ttf&f2=10&a1=&a2=&a3=";
$barcode_img = 'media/barcode/testing_' .$valid_barcodename . '.png';
file_put_contents($barcode_img, file_get_contents($barcodeurl));
そのフォルダに保存されている画像は空ではありません。分析したところ、スペースなしで「TEST NAME WITH SPACE」(TESTNAMEWITHSPACE)という名前を付けると、機能することがわかりました。
しかし、私がそれをスペースで与えるならば、それはうまくいきません。どうした?
注:AT :: getUrl()-ベースURLを取得するために使用されます。