Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP ActiveX) PC/SC Get Card UIDSee more SCard ExamplesSends the APDU command to get a card's UID.
<?php // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.SCard') $scard = new COM("Chilkat.SCard"); // First establish a context to the PC/SC Resource Manager $success = $scard->EstablishContext('user'); if ($success == 0) { print $scard->LastErrorText . "\n"; exit; } // Use your own smart card reader name here. $success = $scard->Connect('ACS ACR122 0','shared','no_preference'); if ($success == 0) { print $scard->LastErrorText . "\n"; exit; } print 'Connected reader: ' . $scard->ConnectedReader . "\n"; print 'Active protocol: ' . $scard->ActiveProtocol . "\n"; print 'ATR: ' . $scard->CardAtr . "\n"; print 'Reader Status: ' . $scard->ReaderStatus . "\n"; // Send the APDU command 0xFF, 0xCA, 0x00, 0x00, 0x00 // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.BinData') $bdRecv = new COM("Chilkat.BinData"); $success = $scard->TransmitHex($scard->ActiveProtocol,'FFCA000000',$bdRecv,32); if ($success == 1) { print 'Received: ' . $bdRecv->getEncoded('hex') . "\n"; // The UID is the returned data without the final 2 bytes. $numBytes = $bdRecv->NumBytes; if ($numBytes > 2) { print 'UID: ' . $bdRecv->getEncodedChunk(0,$numBytes - 2,'hex') . "\n"; } } else { print $scard->LastErrorText . "\n"; } // Disconnect from this reader. $success = $scard->Disconnect('leave'); if ($success == 0) { print $scard->LastErrorText . "\n"; } // Applications should always release the context when finished. $success = $scard->ReleaseContext(); if ($success == 0) { print $scard->LastErrorText . "\n"; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.