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 Extension) PC/SC Get Card UIDSee more SCard ExamplesSends the APDU command to get a card's UID.
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $scard = new CkSCard(); // First establish a context to the PC/SC Resource Manager $success = $scard->EstablishContext('user'); if ($success == false) { print $scard->lastErrorText() . "\n"; exit; } // Use your own smart card reader name here. $success = $scard->Connect('ACS ACR122 0','shared','no_preference'); if ($success == false) { 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 $bdRecv = new CkBinData(); $success = $scard->TransmitHex($scard->activeProtocol(),'FFCA000000',$bdRecv,32); if ($success == true) { print 'Received: ' . $bdRecv->getEncoded('hex') . "\n"; // The UID is the returned data without the final 2 bytes. $numBytes = $bdRecv->get_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 == false) { print $scard->lastErrorText() . "\n"; } // Applications should always release the context when finished. $success = $scard->ReleaseContext(); if ($success == false) { print $scard->lastErrorText() . "\n"; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.