Předpokládejme, že vytvoření webové stránky pracující s PHP skriptem pro vás není nic nevšedního. Co takhle skript, který dovede pracovat přímo s částmi operačního systému Windows? Skript, který dovede spouštět aplikace, koukat do registru a zapisovat do něj, zobrazovat dialogy operačního systému, vyvářet zástupce a další věci?
Někdy jste jistě narazili na potřebu vytvoření nějakého skriptu, který by vám ve Windows něco zpracoval. Nechcete-li se učit PowerShell a zvládáte-li PHP, pak není nic jednoduššího, než si doinstalovat knihovnu win3std a vyzkoušet některé její funkce.
Jak nainstalovat win32std do PHP
Knihovnu win32std si můžete stáhnout z webové stránky downloads.php.net/pierre. V podstatě získáte balíček ZIP se souborem php_win32std.dll. Ten si nakopírujte do složky, kde máte PHP a do podsložky ext. V konfiguračním souboru php.ini je pak nutné přidat informaci o tom, že interpret jazyka má toto nové rozšíření načíst.
extension=ext/php_win32std.dll
Po restartu webového serveru, respektive po opětovném spuštění PHP z příkazového řádku by se mělo nové rozšíření načíst a být připraveno k použití.
Několik ukázek použití win32std
Podívejme se nyní na několik jednoduchých ukázek volání systémových funkcí přímo z PHP, díky knihovně win32std:
Spuštění kalkulačky: win_shell_execute( 'calc.exe' );
Otevření okna Průzkumníka pro hledání: win_shell_execute( 'c:\\', "find" );
Win32std dovede zobrazovat i systémové dialogy Windows. V následující ukázce skript zobrazí dialog pro výběr složky a samozřejmě vrátí hodnotu, kterou uživatel zvolil:
<?php
$result= win_browse_folder('%WINDIR%', 'Vyberte složku');
if( !$result ) echo 'Nebyla vybrána žádná složka';
else {
echo "Vybrána složka '$result' ";
}
?>
Podobně je možné vyvolat dialog pro výběr souborů.
Knihovna win32std vám rovněž umožní prohlížet a zapisovat do registru Windows. V jednoduché ukázce se podívejme, jak získat seznam všech souborů, k nimž jsou uvedeny spustitelné cesty v registru:
<?php
$mainKey= reg_open_key( HKEY_LOCAL_MACHINE, 'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths');
print_r( reg_enum_key($mainKey) );
?>
Jak používat win32std a kde najít dokumentaci?
Knihovnu win32std můžete využít jak ve svých skriptech pracujících v rámci lokálního webového serveru, tak samozřejmě pro tvorbu skriptů určených jen a pouze pro příkazový řádek Windows. První případ použití je asi zřejmý, v druhém případě stačí následující volání v příkazovém řádku:
php cesta_ke_skriptu/soubor.php
Samozřejmě za předpokladu, že máte v systémové proměnné PATH uvedenu cestu k souboru php.exe. Jinak musíte do příkazového řádku zadat přímo cestu k němu. Budete-li přistupovat k některý zabezpečeným částem registru, pak samozřejmě musíte php spustit z příkazového řádku v režimu administrátora.
Tip: Potřebujete-li pro svůj skript jednoduchý webový server, ale nechcete instalovat Apache, sáhněte po webserveru zabudovaném přímo v PHP. Viz článek Webserver a interaktivní shell v PHP jako pomůcky pro vývojáře.
Dokumentaci ke knihovně a další příklady jejího použití najdete na stránce win32std:index.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Přidat komentář