15 January, 2009

Php: number_format() - číslo prokládané mezerou

Filed under: Php — jersywoo @ 11:14 am

Při vypisování větších číselných údajů, třeba ceny, se číslovky lépe čtou pokud jsou nějak opticky oddělené. Moji oblíbenou optickou pomůckou jsou mezery po třech číslech. Číslo “294 451 385″ se rozhodně lépe čte než “294451385″. Ona takhle nějak funguje i naše pamět, než aby si pamatovala jedno velké číslo, tak si raději pamatuje sekvenci tří menších čísel (telefonní čísla).

Použít pro formátování čísel se dá v Php funkce number_firmat(), která má čtyři parametry. První parametr je číslo, které formátujeme, druhý parametr je počet desetinných míst, třetí parametr oddělovač desetinných míst a čtvrtý parametr oddělovač tisíců (čím rozdělí číslo po třech číslicích).

Pokud chci tedy celé číslo rozdělit po třech číslicích, bez desetinných míst použiju toto:
number_format($cislo,0,'’,’ ‘) //$číslo je vstupní číselný údaj

1 December, 2008

Ověření existence souboru

Filed under: Php — jersywoo @ 1:58 am

Otestovat existenci souboru jde dvěma funkcema. Pokud je soubor na vlastním(file) serveru hodí se funkce file_exists(). Pokud je na cizím serveru (url), tak se hodí get_headers(). Get_headers vrací číselné pole, kde se dá návratová hodnota ověřovat na prvním (nultém) poli

27 June, 2008

Php: vrací dotaz opravdu správné výsledky

Filed under: Php — jersywoo @ 12:42 pm

I když sql dotaz vrací stejné výsledky v příkazové řádce nebo v phpmyadminu (nebo jiný webový správce) může se stát, že v aplikaci vrací jiné výsledky. Je to neuvěřitelné, ale i to se může stát (taky jsem na to koukal jako jak husa do flašky,nakonec to byla vlastní chyba v aplikaci). Ryhlá kontrola se dá uskutešnit pomocí vypsání výsledků jako pole.


$ceny=mysql_query(”SELECT neco,zahadneho FROM tabulka”);
while ($ceny2=mysql_fetch_assoc($ceny)){
print_r($ceny2);
}

5 June, 2008

Php - floor - zaokrouhlování dolů

Filed under: Php — jersywoo @ 3:04 pm

Potřeboval jsem zjistit jak jsou někteří klienti jedné firmy staří pro statistiku kdo je vlastně firemní zákazník. Jednoduše jsem odečetl jejich datum narození od dnešního datumu a vyšli mi údaje ve stylu “rok čárka měsíc“. Takže jsem měl navíc měsíce, které jsou u stáří osoby zbytečné. Použil jsem na to funkci FLOOR, která zaokrouhluje desetinná čísla na celá čísla směrem dolů.

Přesně opačně než floor() funguje ceil() a to tak, že zaokrouhluje číslo nahoru. K zaokrouhlování se dají ještě pouít funkce round(), které se dá určit kolik desetinných míst má zanechat.

10 April, 2008

Php - dynamické proměnné

Filed under: Php — jersywoo @ 2:46 pm

Proměnné se skládá z identifikátoru a obsahu. Identifikátor je název proměnné  a obsah je hodnota proměnné. Někdy předem člověk neví jak se proměnná bude jmenovat. Péhápéčko umožňuje z obsahu proměnné udělat vlastní proměnnou, zvanou dynamickou proměnnou. Nejlepší bude asi příklad:

$hlavniPromenna=”peknaHolka”;
$$hlavniPromenna=”Aneta”;

//Vypíše oboje Aneta
echo $$hlavniPromenna;
echo $peknaHolka;

Aktualizováno:4.8.2008

9 April, 2008

Jpgraph - české datumy

Filed under: Php — jersywoo @ 1:31 pm

Menší náhled češtiny v jpgraph
Tahle grafická knihovna pro grafy umí i lidsky (leden…) psát měsíce. Pokud to potřebujete změnit najdete v souboru jpgraph.php třídu DateLocale a v ní hned na začátku upravíte inicializaci ilocale na:

var $iLocale = ‘czech’; // environmental locale be used by default

a na konci konstruktoru o pár řádků níže:

$this->Set(’czech’); 

4 April, 2008

Jpgraph - grafy v Phph

Filed under: Php, Odkazy — jersywoo @ 10:33 am

Dost profláklá knihovna Jpgraph na tvorbu grafů v php a celkem dobrý návod u Zenda

2 April, 2008

Fyzická cesta k souboru - if_exists

Filed under: Php — jersywoo @ 9:25 pm

Když je v aplikaci bordel, například při oblíbeném mod_rewritu nebo nastavení apache, může se stát, že se při dotazu na existenci souboru nedohledáte. Nedohledáte, zvláště pokud používáte relativní adresy a podobné zběsilosti. A hledat důvod nefunkčnosti je ztráta času a nejrychlejší je to přesně naadresovat. Uvedu příklad:

if(file_exists(”./../pokus/fotky/id_adresare/3b.jpg”)) //vylez o adresář výše a pak hledej

Pokud nevíte co je na serveru za adresářové zběsilosti, je možnost si je vypsat pomocí příkazu $_SERVER:

print_r($_SERVER);

Vypíše se pole záznamů, které je dobré prostudovat. Najdete v něm záznam :
[SCRIPT_FILENAME] => /var/www/xhosts/neco.cz/httpdocs/index.php

A nyní stačí upravit původní relativní adresu

if(file_exists(”/var/www/xhosts/neco.cz/httpdocs/fotky/id_adresare/3b.jpg”))

7 March, 2008

OOP v php5 - poznámky

Filed under: Php — jersywoo @ 2:32 pm

Zase pár věcí co pořád zapomínám.

Public: prvek je viditelný všude - public
Private: prvek je použitelný pouze ve třídě kde je definován - private
Protected: prvek je použitelný i v odvozených třídách - protected
Static: první hodnota (při inicializaci) se během nemění - static

Konstanta: jako static, nemusí se používat dolar a neurčuje se viditelnost - const

Abstrakce: abstraktní třída, která bude mít detaily definovány v potomkovi -abstract

5 November, 2007

Funkce - kontrola emailu

Filed under: Php — jersywoo @ 10:12 am

První parametr je email a druhý parametr je doména emailu (např:seznam.cz,gmail.com). tím můžete email omezit na určitou doménu. Funguje to i na domény třetího řádu. Vrací jedničku nebo nulu.

function overemail($email,$domena=”"){
if (empty($domena)){
$kontrola=”^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+((\.[a-zA-Z0-9-]{2,6}){1,2})”;
}else{
$kontrola=”^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@((([a-zA-Z0-9-]){0,2}\.){0,1})+($domena)”;
}
if (eregi($kontrola,$email)) {
return 1;
}else{
return 0;
}
}