Category Archives

33 Articles

PHP: Jak pomocí mkdir() jednoduše vytvořit vnořený adresář? I když některý adresář v cestě zatím neexistujte

by Zdeněk Večeřa 1 Comment

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.

Pomalé načítání stránek na localhostu: Apache 2.4, PHP 5.3, Windows 8, 10 a IPv4/IPv6

Možná jste také u Windows 7/8/10 zpozorovali problém dlouho trvajícího načítání stránek z localhostu, někdy třeba 5-30 sekund. Takže pořádný slow loading localhost! Doba načítání se může lišit, např. Opera 12 je u mě znatelně rychlejší než Opera 23 a Chrome, které oba běží na stejném základě.

Pokud navíc využíváte virtuální hosty (přichází více požadavků na localhost), tak při bílé stránce zdlouhavě čekáte a čas si tak můžete akorát zkrátit pohledem na static.xxcdn.cz…, které se nehybně zobrazuje v rohu prohlížeče.

Zpomalení se může projevit jen při některých načtení stránky, obvykle u prvního přístupu na stránku, ale u dalších to může být nahodilé. A když se najednou zdá načítání rychlé, tak se z ničeho nic zase zpomalí. Někdy pomůže restart Apache, jindy ale nikoli.

 

Naštěstí existuje několik tipů, jak tento problém fixnout.

1) Přidejte AcceptFilter do Apache

Přesměrování stránky bez zachování hlavičky Referer (PHP)

by Zdeněk Večeřa 0 Comments

Někdy můžete chtít ze své stránky odkázat na jiný web tak, aby cílová stránka nezjistila, odkud uživatel přišel (URL). Běžně se to lze dozvědět z hlavičky Referer, pokud ji uživatel neblokuje (například firewallem).

Pro tento případ je proto vhodné připravit mezistránku (například soubor /r.php), které předáte cílovou URL. Stránka odstraní Referer a přesměruje na cílovou, která se tak nedozví původní URL.

Odkaz vygenerujte třeba takto:

echo ‚<a href=“/r.php?u=‘ . htmlspecialchars(urlencode(‚http://blog.zdenekvecera.cz/item/category/php‘)) . ‚“>odkaz</a>‘;