PHP Get current url
Někdy potřebujeme získat url adresu pro menu, nebo odkazy atd.
pozor funkce je empty() a ne emptyempty
pozor funkce je empty() a ne emptyempty
$currentURL = (!empty($_SERVER['HTTPS']))
? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
: "//".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
77LW NO topic_id
AD
Další témata ....(Topics)
Kontrola zda database existuje, zmena opravneni, vytvoreni nove, nebo jeji otevreni kdyz existuj
$path_to_database = "CESTA_K_SOUBOURU/database.sqlite";
// zmena opravneni / chmod permission
if(file_exists($path_to_database))
chmod($path_to_database,01777);
// otevreni , vytvoreni databaze
$db = new SQLiteDatabase($path_to_database);
vlozeni tabulky s nazvem test, mozno bezpecne vkladat text v UNICODE
$db->query("
CREATE TABLE test
(url VARCHAR(55),
title VARCHAR(55),
keywords VARCHAR(500),
content_of_page VARCHAR(2500),
date DATE(50),
revision DATE(50),
visit INTEGER(8),
PRIMARY KEY (url),
UNIQUE (url))");
// vlozeni dat do tabulky test
$query = $db->query("INSERT INTO test (url,title,keywords,date,c,visit) VALUES (""
.$url."",""
.$title."",""
.$"keywords."",""
.$datum."",""
.$text_of_page."",""
."1"."")", $error);
// update tabulky / radku, prepis jiz existujicich dat
$query = $db->query("UPDATE test SET $query = $dbb->query("UPDATE test SET obsah="".$text_novy
."", title="".$title_new
."", keywords="".$keywords_new
."", revision="".date("j.n.Y - H:i")
."" WHERE url="".$url.""", $error);
}
if (!$query) {
exit("Error in query: "$error"");
} else {
echo "Number of rows modified: ", $dbb->changes();
}
// vyber vsech dat z tabulky test
$resss = $db->unbufferedQuery("SELECT * FROM test");
// prochazeni vysledku vyberu z tabulky
foreach ($resss as $row) { // iterate through result object
print $row["url"];
print $row["title"];
// atd. .... etc. ....
} // end foreach
// presne hledani v tabulce nebo substring / pokud hledame jen substring tak dame % pred pokude ma byt cokoliv vpredu, nebo za pokud vzadu
// pokud jsou procenta vpredu i vzadu, tak najde napriklad predblablavzadu
$resss = $db->unbufferedQuery("SELECT * FROM test WHERE title LIKE %blabla%");
// ziskat setrideny vyber a max pocet vybranych poloze / na konec dotazu pridame:
ORDER BY title DESC LIMIT 50
// setridi podle tituku a vybere 50 radku
// smazani urciteho radku dle obsahu nektereho ze sloupcu
$ur = "www.domena.com/blahblah.php"
$query = $dbb->query("delete from test where url like "$ur"");
PHP formát datumu
Datum a čas v PHP
echo date('l jS of F Y h:i:s A');
// vypise neco podobneho: Saturday 21st of February 2009 11:38:59 AM
mktime()
strtotime()
time()
Y 4 číselný rok 2009
y 2 číselný rok 02
F celý měsíc February
M skratka měs Feb
m Měsíc (0 na počátku ) 01 do 12
n Měsíc 1 do 12
D skratka dne Sat
l dlouhý nazev dne Saturday
d Den (0 na počátku) 01 do 31
j Den pořadí 1 do 31
h 12 Hodina(0 na počátku) 01 do 12
g 12 Hodina 1 do 12
H 24 Hodina(0 na počátku) 00 do 23
G 24 Hodina 0 do 23
i Minuty (0 na počátku) 00 do 59
s Sekundy (0 na počátku) 00 do 59
w Den týdne(0 neděle) 0 do 6
z Den v roce 0 do 365
W Týden v roce 1 do 53
t Dnů v měsíci 28 do 31
a am nebo pm
A AM nebo PM
B Swatch Internet Time 000 do 999
S Ordinal Suffix st, nd, td, th
T Timezone of machine GMT
Z Timezone offset (seconds)
O Difference to GMT (hours)+0200
I Letní čas 1 nebo 0
L Přestupný rok 1 nebo 0
U Sekund v epoše od 1. January 1970.
c ISO 8601 (PHP 5)
r RFC 2822
Číslo týdne pro 1. leden může vrátit
53 pokud týden bude začínat předešlým rokem.
date("W", mktime(0, 0, 0, 12, 28, $year))
vždy dá správné číslo týdne v roce
$year.
date_default_timezone_set('Europe/London');
$datetime = date_create('2009-09-03 17:32:20');
echo date_format($datetime, DATE_ATOM);
global je klíčové slovo, které zajistí viditelnost proměnné například uvnitř funkcí.
$a = 5;
$b = 2;
function Secti()
{
global $a, $b;
$b = $a + $b;
}
Secti();
echo $b;// 7
// pred vsemi include file
$varGlob = 10;
include('some.inc');
$GLOBALS; // pole ktere obsahuje SERVER i vsechny uzivatelovi globalni promenne
function PrintFC()
{
$a = $GLOBALS['varGlob']; // ziskame globalni promennou
$GLOBALS['varGlob'] = 20; // muzeme prepsat jeji hodnotu
print $a; // 10
}
PrintFC();
print $varGlob; // 20
Sqlite3 příkazy - rady zkušenosti
Tyto příkazy, začínající tečkou .neco viz https://sqlite.org/cli.html dávám buď do konzolové aplikace (Start - cmd), nebo příkazového řádku, nebo nejlépe do sql souboru, který otvírám přes bat soubor - viz níže.V samotném bat souboru se musí zápis upravovat a je to matoucí.
Výpis databáze do sql souboru lze snadno provést přes soubor s koncovkou bat. Je dobré si nakopírovat do adresáře soubor sqlite3.exe , nebo dle verze, ve které se pracuje.
Do _databaseToSql.bat zadám název (popř.cestu, pokud je databáze v jiné složce) databáze a soubor, do kterého bude vypsán sql.
_databaseToSql.bat
sqlite3 my_database.db .dump > output.sql
pause
Pro vykonání stačí na uložený _databaseToSql.bat dvojkliknout a provede se kod.
Plnění databáze ze souboru.sql
Opětovně output.sql můžeme použít pro vytvoření nové databáze a naplnit jí obsahem output.sql_sqlToDatabase.bat
sqlite3 new_database.sqlite < output.sql
pause
Plnění databáze ze souboru TXT, kde jednotlivé sloupce jsou odděleny středníkem
_txtFileToDatabase.bat
sqlite3 dictionary_database.db < load.sql
Do load.sql zadáme vytvoření tabulky a soubor.txt, ze kterého budeme plnit sloupce tabulky a čím jsou výrazy v txt souboru odděleny - v našem případě ; STŘEDNÍKEM.load.sql
CREATE TABLE [es_cz] (
[spanish] VARCHAR(255) NULL,
[czech] VARCHAR(255) NULL
);
.separator ";"
.import spanish-czech.txt es_cz
spanish-czech.txt pak bude obsahovat řádky oddělené ; středníkem.
spanish word;czech word
spanish word;czech word
spanish word;czech word
Výpis databáze do CSV souboru
Pokud chci zpět soubor CSV načíst do databáze, tak může nastat problém s oddělovačem sloupců - např. tam bude více ; středníků, či jiných oddělovačů na řádku, než kolik je sloupců a bude malér.Následující kód otevře myDatabase.db , vybere obsah tabulky myTable a vypíše jí do souboru test.csv
_databaseToCsvFile.bat
sqlite3.exe -header -csv myDatabase.db "select * from myTable;" > test.csv
Date: 19.04.2020 - 22:31Ukázky zaokrouhlení čísla v JavaScript.
var num = 123.45678;
var rounded = Math.round(num); // out: 123
var num = 123.5269;
var rounded = Math.round(num); // out: 124
var num = -3.5269;
var rounded = Math.round(num); // out: -4
var num = 3.5269;
var rounded = Math.round(num * 100)/100; // out: 3.52
var num = 3.5269;
var rounded = Math.round(num * 1000)/1000; // out: 3.526
var num = 3.5269;
var rounded = num.toFixed(3); // out: 3.527
c:xampphtdocs
Editace: 18 10 2016
Počet článků v kategorii: 77
Url:php-get-current-url