Jul 5 2012

Podrobný výstupní log CURL (PHP)

Zapnout CURLOPT_VERBOSE a případně nastavit výstupní log soubor CURLOPT_STDERR (jinak budou chyby vypsány na STDERR).


Feb 28 2012

Užitečné on-line nástroje pro webové vývojáře

Výkon webu

https://developers.google.com/pagespeed/

http://www.webpagetest.org

http://tools.pingdom.com

Gzip komprese

http://nontroppo.org/tools/gziptest/

DNS, A, MX, TTL aj.

http://www.who.is/dns/

Pokračování článku


Feb 20 2012

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

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>’;

Pokračování článku


Feb 7 2012

Řešení problému: Sources directory is already netbeans project (maybe only in memory)

Spokojeně používáte NetBeans, až jednou za jeho běhu přímo ve Windows přejmenujete/přesunete adresář, který doposud sloužil jako cesta k jednomu z projektů.

Daný projekt z NetBeans zmizí a vy se jej pokoušíte přes File -> New Project -> PHP Application with Existing Sources znovu  přidat. Marně, protože pokaždé se vypíše chybová hláška:

Pokračování článku


Dec 27 2011

Stavové kódy odpovědí serveru – chybové stavy http

Jaký je stavový kód pro trvalé přesměrování nebo chybu serveru? Seznam http kódů…

Informační

  • 100 – Continue
  • 101 – Switching Protocols

Úspěšné

  • 200 – OK  (OK, běžný stav)
  • 201 – Created
  • 202 – Accepted
  • 203 – Non-Authoritative Information
  • 204 – No Content
  • 205 – Reset Content
  • 206 – Partial Content

Pokračování článku


Feb 10 2011

Víte, jak se chová zákeřná PHP funkce empty()?

PHP programátoři mají občas nejasnosti s tím, co vrací PHP funkce empty(). Máte prázdnou proměnnou, neexistující proměnnou, prázdné pole nebo proměnnou s hodnotou 0 (nula) či NULL. Víte, co vám empty() v jednotlivých případech vrátí? A aby toho nebylo málo, mrkneme i na isset().

Pokračování článku


Jul 23 2010

PHP 5.3: jak je to s VC6, VC9, Thread Safe a Non Thread Safe

PHP 5.3Instalace binárních balíčků PHP 5.3 pro Windows je oproti 5.2 trochu složitější. Musíte totiž podstoupit rozhodování při výběru vhodné verze. Jaká je tedy pro vás ta správná?

VC6 nebo VC9

Pokud používáte Apache 1 nebo 2, měli byste použít verzi VC6. Zkompilována je pomocí vývojového prostředí Vistual Studio 6.

Jestli instalaci PHP 5.3 chcete provést na IIS, což je Internet Information Services od Microsoftu, měli byste zvolit verzi VC9. Ta byla zkompilována Visual Studiem 2008 a přináší vylepšení v oblasti výkonu a stability.

Pokračování článku


Apr 24 2010

Google Analytics: Asynchronous Tracking a AJAX

Google před časem přidal další možnost, jak sledovat návštěvnost pomocí Google Analytics. Tentokrát se jedná o tzv. Asynchronous Tracking.

Tento nový asynchronní měřící kód přináší oproti dřívějším verzím (urchin.js a ga.js) několik výhod:

  • rychlejší načítání stránek
  • více údajů o návštěvnících během krátkých návštěv stránek
  • odstranění nepatřičných sekvenčních operací mezi sledováním uživatelských kliknutí a načtením měřicího kódu

Google doporučuje tento nový způsob sledování nasadit, dřívější verze ovšem budou nadále podporovány. Rozhodně byste ale neměli na jedné stránce používat více druhů měření.

Kód se liší především v umístění na stránce. Dřívější se dával na konec stránky, před uzavírací tag </body>. Tento nový se umísťuje před uzavírací tag </head>.

Pokračování článku


Jan 14 2010

Rychlost: intval() vs. mysql_real_escape_string()

intval()

for ($i = 0 ; $i < 1000 ; $i++){
  $num = intval(rand());
}

Doba zpracování: 0,0008 s

mysql_real_escape_string()

for ($i = 0 ; $i < 1000 ; $i++){
  $num = mysql_real_escape_string(rand());
}

Doba zpracování: 0,0035 s

Pro ošetření integer hodnot používejte intval(), pro řetězce mysql_real_escape_string().


Oct 4 2009

phpMyAdmin: Wrong permissions on configuration file, should not be world writable!

Pokud pro správu MySQL databáze chcete využít PHP aplikaci phpMyAdmin, a ona vám hlásí: “Wrong permissions on configuration file, should not be world writable!“, musíte upravit práva souboru (atributy souboru) config.inc.php, který je součástí instalace phpMyAdmin.

Je třeba práva souboru nastavit tak, aby nebylo možné soubor modifikovat zvenčí (nepřidělit právo zápisu pro ostatní). Práva souboru proto změňte například na 0644.

Více o právech se dočtete zde: Přístupová práva v Unixu

Pokračování článku