PHP (Hypertextový Preprocesor, původně Personal Home Page) je multiplatformní skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek (aplikací).
LAMP je často používaná zkratka pro kombinaci operačního systému GNU/Linux, webového serveru Apache, databázového systému MySQL (případně PostgreSQL) a PHP.
Příklad PHP skriptu, který zobrazí slovo Ahoj:
<?php echo "Ahoj"; ?>
Další informace viz manuálové stránky PHP.
Nabízejí PHP dokumentaci, šablony a zejména usnadňují psaní skriptů (třídy, funkce, procedury).
Funkce print stejně tak konstruktor echo slouží pro vypsání obsahu na obrazovku.
Print je o něco málo pomalejší než echo, ale zato vrací hodnotu True nebo False. Způsob použití se dále liší při výpisu proměnné.
<?php
$text = print "Jak se mate?"; // s echo toto neni mozne
if($text) {
echo “Výpis úspěšný:)“;
}
?>
Funkce print_r umožňuje navíc i vypsat obsah pole:
<?php
$pole = array ('a' => 'délka', 'b' => 'šířka', 'c' => array ('x', 'y', 'z'));
print_r ($pole);
?>
Zobrazení poslední aktualizace souboru číselně:
<?
/* aktualni soubor */
$file = $_SERVER['SCRIPT_FILENAME'];
/* cas zmeny souboru */
$update = filemtime($file);
/* aktualizace ciselne */
echo "<p>Poslední aktualizace: " .date('d. n. Y – H:i\'s"', $update). "</p>";
?>
Zobrazení poslední aktualizace souboru slovně:
<?php
/* aktualni cas */
echo "<p>Nyní je " .date('l d. m. Y H:i\'s"'). ".</p>";
/* aktualni soubor */
$file = $_SERVER['SCRIPT_FILENAME'];
/* cas zmeny souboru */
$update = filemtime($file);
/* aktualizace ciselne */
echo "<p>Poslední aktualizace: " .date('d. n. Y – H:i\'s"', $update). "<br />";
/* aktualizace slovne */
$months = array ('leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec');
$days = array ('pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota', 'neděle');
echo "Poslední aktualizace: " .$days[date('w', $update) - 1] ." ". date('j', $update). ". " .$months[date('n', $update) - 1] . date(' Y – H:i\'s"', $update). "</p>";
?>
Trvalé přesměrování URL adresy bez ztráty pozice ve vyhledávačích:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://tomas.dankovi.info/");
header("Connection: close"); // fix IE bug
?>
V případě hledání chyb nebo problémů v PHP skriptu je vhodné zapnout zobrazování chybových hlášení.
Změnu nastavení je možné provést několika způsoby:
<IfModule mod_php4.c> php_value error_reporting 2047 php_flag display_errors 1 </IfModule>
<IfModule mod_php5.c> #php_value error_reporting 6143 # PHP 5.2 a méně php_value error_reporting 30719 # PHP 5.3 a více php_flag display_errors 1 </IfModule>
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
$x = 2 / 0; //chyba deleni nulou
?>| Popis | error_reporting() | PHP4 | PHP5 | PHP5.3 |
| Nezobrazovat hlášení (implicitní) | 0 | 0 | 0 | 0 |
| Zobrazovat všechna hlášení | E_ALL | 2047 | 6143 | 30719 |
| Zobrazovat pouze chyby a varování | E_ERROR | E_WARNING | E_PARSE | 7 | 7 | 7 |
| Všechna hlášení, kromě notice | E_ALL ^ E_NOTICE | 2039 | 6135 | 30711 |
| Všechna hlášení, kromě deprecated | E_ALL ^ E_DEPRECATED | - | - | 22527 |