Hlavní navigace

PHP: Knihovna funkcí

Michal Samek 28. 6. 1999

V minulé části jsme zkoumali databázové funkce PHP - máme tedy podstatnou část vestavěné knihovny funkcí za sebou. No a dnes se podíváme na její zbývající část.

Stejně jako ostatní programovací jazyky, i PHP obsahuje bohatou knihovnu funkcí, která by se dala s trochou zjednodušení rozdělit na dvě části – funkce „výpočetní“ a „výkonné“. Mezi ty první patří veškeré matematické, konverzní, řetězcové aj. funkce, bez kterých se prostě neobejdete a které s menšími obměnami (a bohužel často pod různými názvy) znáte z ostatních jazyků. Do druhé skupiny patří kromě už zmíněných databázových funkcí také mnoho dalších interface k různým knihovnám nebo prostředkům OS, prostě funkce, které používáte zejména kvůli jejich „vedlejším efektům“. Každá další verze PHP obvykle přinese mnoho nových takových funkcí. Osobně mám tyto výkonné funkce rozděleny ještě do dvou skupin – užitečné a postradatelné :) To je samozřejmě individuální, proto nám PHP umožňuje (nebo spíš vyžaduje) vybrat si během kompilace, které skupiny funkcí bude výsledný interpret umět. Aspoň se nemusíte obávat, že vám bude PHP s každou novou verzí víc a víc „bobtnat“ – jak je ostatně zvykem na námi nostalgicky vzpomínané platformě strýčka Billa :)

Funkce obvyklé a očekávané
Zde nabízí PHP běžný standard, doplněný o některé užitečné webové specialitky. Konečně podívejte se sami: řetězcové funkce, trocha matematiky, funkce pro práci s poli, proměnnými a časem a datumem. Možná budete mít tak jako já trochu problém zvyknout si na konkrétní názvy funkcí – nic vám však nebrání nadefinovat si třeba vlastní len, pokud se vám strlen nelíbí… A zmíněné speciality? Například AddSlashes (doplní do textu obrácená lomítka, aby se dal použít v SQL dotazu), htmlspecialchars (udělá v textu potřebná nahrazení znaků na html entity), nl2br (změní znaky nových řádků na html tag <BR>), similar_text (umí spočítat procentuální koeficient podobnosti 2 textů) nebo parse_str („parsne“ – jak se to řekne česky? – url query řetězec do proměnných).

Přístup k souborům a dalším zdrojům OS
PHP poskytuje podle mne naprosto dokonalý přístup k filesystému včetně unixových specifik jako jsou symbolické a „tvrdé“ odkazy nebo vlastník, skupina a mód souboru. To umožňuje napsat v PHP třeba webový souborový manažer, podobný těm, které se používají na různých free web-hostingových serverech. Funkce FOpen vám dokonce umožní transparentní přístup nejenom k lokálním souborům, ale také k internetovým zdrojům prostřednictvím protokolů ftp a http. Možnosti využití jsou široké – můžete psát vlastní html roboty a metavyhledavače, nebo si můžete pomocí PHP nechat v klidu stáhnout na svůj server nějaký špatně dostupný site. Zde najdete funkce pro práci se soubory a adresáři. Z PHP můžete i spouštět externí programy nebo pracovat se sdílenou pamětí a semafory standardu System V.

Dynamické obrázky
Tak toto je opravdová lahůdka – pokud máte nainstalovány knihovny GD a Free-type, můžete generovat pomocí PHP nejenom html stránky, ale i přímo obrázky typu GIF. Váš program může generovat různé grafy nebo třeba automaticky zmenšené náhledy – nebudete muset udržovat 2 podoby jednoho obrázku. K dispozici jsou funkce pro práci s barevnou paletou, můžete kreslit různé typy čar, obdélníky a elipsy, vyplňovat uzavřené oblasti nebo psát do obrázku pomocí unixových i true-type fontů. Podrobnosti najdete zde.

Pošta
PHP umí přímo odeslat poštovní zprávu pomocí funkce mail – opět se nabízí množství praktických aplikací. Píšete-li internetový obchod, můžete výslednou objednávku zákazníka odeslat přímo poštou. Nebo vám může skript poslat varovný e-mail, pokud něco není v pořádku (nejede SQL server apod.). Pokud potřebujete připojit ke zprávě nějaký soubor, existuje třída napsaná v PHP, která to umí (zkuste hledat v archivech PHP mailing listu nebo mi napište). Pomocí PHP napíšete i kompletní webové rozhraní k elektronické poště (myslím, že několik takových open-source řešení v PHP existuje). K tomu budete ještě potřebovat přístup k poštovní schránce – pro IMAP jsou v PHP přímo potřebné funkce a pro POP3 existuje opět PHP třída – tentokrát hledejte na FreshMeatu (kde mimochodem najdete mnoho užitečných skriptů pro PHP).

Některé další užitečné funkce
Pokud potřebujete transparentní přístup ke .gz archivům a máte instalovánu knihovnu zlib, máte k dispozici kompletní sadu funkcí. Napadá mne jedna praktická aplikace: málo požadované rozsáhlé stránky (archivy starých článků nebo mailing listů) umístit do .gz archivů, kde nezaberou tolik místa (mnoho z nás má omezený prostor pro hosting) a pomocí PHP je na přání dynamicky rozbalit a odeslat. Pokud plánujete vytvořit webové rozhraní k SNMP, opět máte štěstí – podívejte se sem. A ještě telegraficky: regulární výrazy, práce s PDF a XML dokumenty nebo Aspell (kontrola pravopisu).

To je pro dnešek vše, přeji příjemné programování a příště se podíváme na zajímavá místa na webu, týkající se PHP.

Našli jste v článku chybu?
120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Jste stále nemocní? Chybí vám zinek

Jste stále nemocní? Chybí vám zinek

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře