Zobrazují se příspěvky se štítkemPHP. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPHP. Zobrazit všechny příspěvky

01 srpna 2013

PHP: Otvírací doba - zavřeno

Malá letní PHP hříčka.

Jak zobrazit informaci o zavření kanceláře na webu do zadaného datumu a času pomocí PHP?
  1. Zjistit aktuální časové razítko time stamp v unixovém formátu
  2. Převést zadaný datum a čas na unixový formát
  3. V podmínce porovnat aktuální a zadaný unixový formát datumu a času a na základě toho zobrazit informaci o zavření.
  4. Po uplynutí zadeného datumu a času se řádka o zavření už nezobrazí a člověk nemusí nic hlídat... :)
---------- například:

Otvírací doba:

Po – Pá 08.00 – 12.00 13.00 – 16.00 hod.
So a Ne ZAVŘENO

Dne 1. 8. 2013 z technických důvodů zavřeno.

---------- PHP kód:

<?php
$datumHodinaDnes = time(); 
// aktuální unixové časové razítko 1375330347
$datumHodinaZavreno = strtotime("2013/08/01 16:00"); 
// rok/měsíc/den hodiny:minuty - anglický tvar datumu a času
 ISO8601 Notations, do kdy má být zavřeno, 
do kdy se má hláška o zavření zobrazovat na webu
if ($datumHodinaDnes <= $datumHodinaZavreno) {
echo 'Dne 1. 8. 2013 z technických důvodů zavřeno.'; 
}
?>

14 srpna 2012

Lokální testování PHP aplikací

aktualizováno 15.08.2012

PHP aplikace a pokusy můžeme testovat na svém lokálním počítači s Windows a nemusíme s tím zatěžovat webhostingový server. Je vhodné k tomu využít nějaký balík programů, který nainstaluje Apache, PHP a MySQL včetně jejich vzájemné konfigurace.

K WAMPSERVERu

Při správném spuštění WAMPSERVERU musí být ikona (W) v trayliště zelená. Je-li ikona oranžová, tak se nespustil Apache. Znamená to, že je obsazen port 80 a blokuje ho jiná aplikace. Zjistíme ji tak, že spustíme WAMPSERVER, klikneme v trayliště na ikonu (W) a proklikáme se Apache -> Service -> Test Port 80. Zobrazí se DOS okno, ve kterém bude napsáno, jaká aplikace obsadila port 80.

Je-li nainstalován Search Engine Optimization (SEO) Toolkit 1.0 nespustí se Apache, protože je obsazený port 80 serverem Microsoft-IIS/7.5. Je nutné server Microsoft-IIS/7.5 zastavit ve Správci Internetové Informační Služby, ke kterému se dostaneme - Ovládací panely\Systém a zabezpečení\Nástroje pro správu\Správce Internetové informační služby.
  1. Dočasné vypnutí IIS - V levém panelu Připojení klikneme na název PC a v plavém sloupci Akce/Spravovat server klikneme na Zastavit. Tím se do příštího restartu port 80 uvolní.
  2. Trvalé vypnutí IIS - V levém panelu Připojení rozklikneme název PC a klikneme na složku Weby - v pravém sloupci vybereme Nastavit předvolby webu... a v nově otevřeném okně Výchozí nastavení webu změníme položku Spustit automaticky na hodnotu False viz screenshot a to se musí udělat i u všech webů ve složce Weby (a pak je ručně spouštět v případě potřeby).
PS: Na nic lepšího jsem v rychlosti nepřišel...

Je-li nainstlován TeamViewer, tak ten také obsazuje port 80. Před spuštěním Wampserveru je tedy nutné ho vypnout.

20 prosince 2009

V čem psát PHP?

V čem psát PHP? To je otázka, která asi trápí nejednoho začínajícího programátora v PHP. Na netu je toho v diskusích hodně a webů se softwarem na psaní PHP taky hodně. Jak si z toho má člověk efektivně vybrat? To je těžká otázka.
Programů, ve kterých se nechá psát PHP je hodně, od textových editorů až po robusní vývojová prostření IDE se spoustou dalších pluginů.
Další otázkou je v jaké fázi programování se nachází programátor?
Každopádně výběr je široký. Pokud do komentářů napíšete svoje zkušenosti s vaším oblíbeným programem na psaní PHP budu jedině rád.

Můj dosavadní program na psaní PHP je Adobe Dreamweaver CS4 nebo Notepad++.

Uvažuji o NetBeans

Další programy, jejichž názvy jsem našel v různých diskusích:
Eclipse PDT
Aptana
PHP Designer
PHPedit
PHPed
PSPad
PHP Coder
jEdit
Komodo Edit

12 prosince 2009

Syntax highlighting aneb zvýraznění syntaxe na webu

Jak zvýraznit syntaxi programového kódu (PHP), který je třeba zobrazit na webu, pro usnadnění čtení zdrojového kódu.

Zvýraznění syntaxe http://cs.wikipedia.org/wiki/Zv%C3%BDrazn%C4%9Bn%C3%AD_syntaxe

Exisují webové nástroje pro Online syntax highlightingExistují i další opensource a free nástroje
Nebo lze použít přímo PHP funkci
Tato PHP funkce zvýrazní syntaxi kódu a naformátuje ho tak jak kód vložíme do funkce. V (X)HTML kódu stránky je pak kód uzavřen do tagu CODE a jednotlivé barevné části kódu jsou u zavřeny do SPAN s přímými styly. Pak stačí v CSS přidat pravidlo - code, pre, tt {font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", Monaco, "Courier New", Courier, monospace;} (převzato z http://www.php.net/) a máme zvíraznění syntaxe a formátování kódu jako na http://www.php.net/.

20 října 2009

SVN – Subversion

SVN – Subversion – je systém pro správu a verzování zdrojových kódů

Kde začít?

VyGooglit SVN :)

15 listopadu 2008

Obnova databází v MySQL ze zálohy

MySQL 5+

Asi nejlepší je zálohovat databáze (DB) exportem třeba z phpMyAdmin, ale pokud se na to zapomene, tak je důležité mít zazálohovaný adresář "data", který je součástí adresáře s mysql.
V adresáři "data" jsou jednotlivé databáze, co DB to adresář.
V kazdém adresáři je soubor "db.opt" s default-character-set (kódování) a default-collation (porovnávání), pak jsou tam soubory s koncovkou .frm, ve kterých jsou uloženy struktury jednotlivých tabulek.
Tabulky typu MyISAM mají uložená data v souborech s koncovkou .MYD a MYI v adresáři DB, zatímco tabulky typu InnoDB mají data uložena přímo v adresáři "data" v souboru s názvem ibdata1.

21 září 2008

Upload obrázku na server pomocí PHP

PHP 5.x

Formulář pro upload obrázku na server:

index.htm

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="image/*" /><br />
<input type="submit" name="submit" value="Odeslat" />
</form>

Zpracování formuláře:

upload.php



/*
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
6143 E_ALL
2048 E_STRICT
4096 E_RECOVERABLE_ERROR
8192 E_DEPRECATED
16384 E_USER_DEPRECATED
*/

error_reporting(E_ALL | E_STRICT); // Error_Reporting(0); vypíná výpis všech chybových hlášení - Warning:

// vypsání souborových proměnných
/*
$_FILES['upload']['name']
$_FILES['upload']['type']
$_FILES['upload']['size']
$_FILES['upload']['tmp_name']
$_FILES['upload']['error']
*/

echo "<strong>print_r:</strong><pre>";
print_r($_FILES); // debugging info - testovací výpis pole
echo "</pre><br /><br />";
echo "<strong>var_dump:</strong> ";
var_dump($_FILES['upload']['name']); // debugging info - výpis konkrétní proměnné
echo "<br />";
var_dump($_FILES['upload']['type']);
echo "<br />";
var_dump($_FILES['upload']['tmp_name']);
echo "<br />";
var_dump($_FILES['upload']['error']);
echo "<br />";
var_dump($_FILES['upload']['size']);
echo "<br /><br />";

// výpis informací o uploadovaném souboru
echo "Jméno [name] uploadovaného souboru je: ".$_FILES['upload']['name']."<br />";
echo "Typ [type] uploadovaného souboru je: ".$_FILES['upload']['type'] ."<br />";
echo "Dočasné jméno [tmp_name] uploadovaného souboru je: ".$_FILES['upload']['tmp_name'] ."<br />";
echo "Číslo chyby [error] uploadovaného souboru je: ".$_FILES['upload']['error'] ."<br />";
echo "Velikost [size] v bytech uploadovaného souboru je: ".$_FILES['upload']['size'] ." bytů<br />";
echo "<br /><br />";

// kontrola jestli je co uploadovat
if(!$_FILES['upload']['name']) {
echo "Nebyl vybrán soubor";
echo '<br /><a href="index.php">Zkus to znovu</a><br />';
} else {
echo "Soubor byl úspěšně uploadován na server";
echo '<br /><a href="index.php">Pokračuj</a><br />';
}

// odstranění diakritiky i pro multi-byte (napr. UTF-8)
$prevodni_tabulka = Array(
'ä'=>'a',
'Ä'=>'A',
'á'=>'a',
'Á'=>'A',
'č'=>'c',
'Č'=>'C',
'ć'=>'c',
'Ć'=>'C',
'ď'=>'d',
'Ď'=>'D',
'ě'=>'e',
'Ě'=>'E',
'é'=>'e',
'É'=>'E',
'ë'=>'e',
'Ë'=>'E',
'í'=>'i',
'Í'=>'I',
'ľ'=>'l',
'Ľ'=>'L',
'ń'=>'n',
'Ń'=>'N',
'ň'=>'n',
'Ň'=>'N',
'ó'=>'o',
'Ó'=>'O',
'ö'=>'o',
'Ö'=>'O',
'ř'=>'r',
'Ř'=>'R',
'ŕ'=>'r',
'Ŕ'=>'R',
'š'=>'s',
'Š'=>'S',
'ś'=>'s',
'Ś'=>'S',
'ť'=>'t',
'Ť'=>'T',
'ú'=>'u',
'Ú'=>'U',
'ü'=>'u',
'Ü'=>'U',
'ů'=>'u',
'Ů'=>'U',
'ý'=>'y',
'Ý'=>'Y',
'ž'=>'z',
'Ž'=>'Z',
'ź'=>'z',
'Ź'=>'Z'
);

// odstranit mezery na začátku i na konci řetězce
$bezmezer = trim($_FILES['upload']['name']);

// nahrazení jedné a více mezer pomlčkou, odstranění diakritiky
$editname = ereg_replace( ' +', '-', strtr($bezmezer, $prevodni_tabulka));

// převod na malá písmena - NUTNO DODRŽET POŘADÍ
//$lovercasename = strtolower($editname);

// překopíruje uploadovaný soubor z "tmp" do složky "obrazky" (lze vyčíst v phpinfo(); v DOCUMENT_ROOT)
copy($_FILES['upload']['tmp_name'],"/storage/www2/cesta/ke/wwwroot/obrazky/".$editname);


Proměnná $_FILES

$ _FILES ['userfile'] ['name']
Původní název souboru na klientském počítači.

$_FILES['userfile']['type']
MIME typ souboru, pokud prohlížeč tuto informaci poskytl. Např.: "image/gif".

$_FILES['userfile']['size']
Velikost uploadovaného souboru v bajtech.

$_FILES['userfile']['tmp_name']
Dočasný název souboru ve složce /tmp po uploadu na serveru.

$_FILES['userfile']['error']
Kód chyby spojené s uploadem na server. Tento prvek byl přidán v PHP 4.2.0.