サーマル プリンターに直接印刷できる POS (Point of Sale) アプリケーションを PHP で作成しました。ほとんどの場合、WAMP を使用してローカル Web サーバーでアプリケーションを実行します。
印刷コードの一部は次のとおりです。
$printer = "\\\\localhost\\TM-T88V";
// Open connection to the thermal printer
$fp = fopen($printer, "w");
if (!$fp){
die('no connection');
}
$data = " PRINT THIS ";
// Cut Paper
$data .= "\x00\x1Bi\x00";
if (!fwrite($fp,$data)){
die('writing failed');
}
このコードは、PC がネットワークに接続されている限り正常に機能します。fopen と "LOCALHOST" または "COMPUTER-NAME" を使用して、PHP を共有プリンター (同じ PC 上またはネットワーク内の PC 上) に接続できます。 fopen("\\localhost\TM-T88V" ,'w');
PC をネットワークから切断すると、PHP は \\localhost または \\COMPUTER-NAME に接続できなくなります。
fopen('TM-T88V')、fopen('\\.\TM-T88V') などを試しましたが、「[function.fopen]: ストリームを開くことができませんでした: そのようなファイルやディレクトリはありません」というメッセージが表示され続けます...」。
アクティブなネットワーク接続がなくても、ローカル (共有) プリンターに (できれば名前で) 接続するにはどうすればよいですか?