Я использую функцию copy () для копирования файла на принтер для печати. Вот как я это делаю.
$invoiceContent = 'Lorem ipsum dolor sit amet';
$file = tempnam(sys_get_temp_dir(), 'print_invoice');
$handle = fopen($file, 'w');
fwrite($handle, $invoiceContent);
fclose($handle);
sleep(1);
chmod($file, 0777);
if (!copy($file, "//localhost/printername"))
echo "printer not found";
else
echo "success";
Проблема в том, что когда принтер выключен, он не отображает сообщение о том, что принтер не найден, а вместо этого показывает страницу 500 ошибок. Как правильно справиться с этой ошибкой? Я попытался использовать попытку и поймать, но все равно отображается страница ошибки 500.
try {
copy($file, "//localhost/printername")
}
catch(Exception $e) {
echo "ERROR! Printer not found!"; // => this doesn't appear, but showed 500 page error instead.
}
Любая помощь будет высоко ценится.