Ovládejte Windows pomocí PHP s knihovou win32std

Pro tvorbu skriptů pro operační systém Windows je určitě dobrým řešením PowerShell. Ovšem pokud znáte PHP a PowerShell se nechcete učit, koukněte na knihovnu win32std. Umožní vám volat různé systémové funkce rovnou z PHP.

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.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

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.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Poslední komentáře