Chceme ověřit, jestli vstup od uživatele je opravdu jakákoliv hodnota integer. Očekáváme tedy celé záporné číslo, celé kladné číslo nebo nulu. Pokud pro validaci celočíselných hodnot (FILTER_VALIDATE_INT) používáme PHP funkci filter_var(), můžeme se při nevhodně použité podmínce dostat do problémů s nulou.
PhpStorm 2020: Jak vypnout otevírání zdrojových souborů v novém odlehčeném editoru „LightEdit“?
Nová verze aplikace PhpStorm 2020.1 přinesla spoustu vylepšení a také odlehčený editor nazvaný LightEdit, který slouží pro rychlou úpravu zdrojových souborů. Editor se sice zobrazí bleskově, ale chybí mu pluginy, porovnání obsahu a další užitečné nástroje, na které jste zvyklí z plnohodnotného PhpStormu.
Vývojáři budou LightEdit nadále vylepšovat, pokud vám ale jeho současné funkce nedostačují (prakticky nic neumí) nebo nechcete čekat, můžete se vrátit k původnímu chování – otevírání zdrojových souborů v plnohodnotném PhpStormu.
Internet Explorer nezobrazuje JPG/JPEG obrázky s chybně nastaveným MIME typem
Možná jste se setkali s problémem, kdy Internet Explorer 8-11 nezobrazil nějaký obrázek s příponou JPG, který byl vytvořený přes PHP. Pokud jste původní obrázek zpracovali přes PHP funkci imagecreatefromjpeg() a následně vytvořili nový obrázek pomocí imagejpeg(), tak vězte, že vytváříte soubor JPEG, nehledě na to, že jste mu dali příponu JPG.
Pokud navíc máte zakázáno očmuchávání MIME typu pomocí této hlavičky:
Jak přesměrovat web z HTTP na HTTPS a přidat WWW?
Přesměrování všech požadavků z HTTP na HTTPS a přidání www lze snadno provést pomocí .htaccess souboru (Apache) s následujícím obsahem. Myslete na to, že je nejlepší řešení nejprve všechno přesměrovat z HTTP na HTTPS a až poté v dalším kroku přidat WWW.
Měli byste vědět, že uvedený postup vyžaduje také HSTS (HTTP Strict Transport Security, neboli vynucené HTTPS), takže pokud jej někdy v budoucnu budete chtít využít, budete aspoň připraveni.
Přesměrování tedy může vypadat nějak takto:
PHP cURL: „Curl error: SSL certificate problem: self signed certificate in certificate chain“
Pokud voláte URL adresu (na HTTPS) pomocí PHP knihovny cURL, která nevrací žádný relevantní obsah, ale pouze FALSE, zkuste si vypsat chybovou hlášku pomocí:
echo curl_error($curl);
Možná dostanete tuto chybovou hlášku: Curl error: SSL certificate problem: self signed certificate in certificate chain.
PHP: Jak pomocí mkdir() jednoduše vytvořit vnořený adresář? I když některý adresář v cestě zatím neexistujte
Máte existující adresář /data/ a chcete v něm pomocí PHP vytvořit další dva adresáře (export/temp/)? Čili aby výsledná struktura vypadala nějak takto: /data/export/temp/
Zavolání funkce:
mkdir('/data/export/temp/')
zahlásí chybu, protože nedokáže vytvořit adresář „temp“ v adresáři „export“, který neexistuje. Potřebujete tedy zavolat funkci mkdir() se třetím parametrem „true“ (recursive), kterým říkáte, že chcete, aby funkce vytvořila všechny adresáře, které jsou v cestě uvedeny.
PHP: Funkce setcookie() při volání přes AJAX nevytvoří požadovanou cookie
Pokud přes AJAX voláte PHP skript, kde pomocí funkce setcookie() chcete vytvořit/nastavit cookie, ale cookie se nevytvoří, zkontrolujte čtvrtý parametr – path:
setcookie('nazev_cookie', $json, time()+28800, '/');
Kdy končí podpora PHP 5.5, 5.6, 7.0, 7.1 a 7.2? Tři roky a šmitec!
Každá větev PHP 5.5, 5.6, 7.0, aj. má svoji životnost. Od vydání se těší 2 let aktivní podpory a poté už jen 1 rok záplatování bezpečnostních chyb. Po třech letech můžete danou větev PHP poslat do šrotu, protože běžet na neaktuální verzi by nebylo příliš rozumné. Read More
Jak přesměrovat web z HTTP na HTTPS?
Přesměrování všech požadavků z HTTP na HTTPS lze snadno provést pomocí .htaccess souboru (Apache) s následujícím obsahem:
Transakce v MySQL a PHP: Pokud nezavoláte rollback, máte zaděláno na pořádný průšvih
Při práci s transakcemi v MySQL se občas můžeme zamotat do jejich volání. START TRANSACTION považujme za párový příkaz, po kterém by mělo být vždy zavoláno COMMIT nebo ROLLBACK. Jinak máte zaděláno na velký problém.