htaccess
Adresa dynamická na statickou adresu
Více na: https://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html
RewriteEngine On
RewriteBase /
# //localhost/internet/download.php?ds=NECO zadana adresa
# QUERY_STRING je vse za otaznikem tedy ds=NECO
# kdyz query string zacina ds=(NECO) a uz za nim neni vubec nic, zadny dalsi &val=value ^&
RewriteCond %{QUERY_STRING} ^ds=([^&]+)$
# tak download.php nahradit za %1-download-data-link.html? pricemz %1 je to co se vybraloz za ds=, tedy NECO
# R=301 je presmerovani takze znovu to posle na web ke kontrole napr. do tohoto souboru kdyz je adresa na tento web
# L .. last .. posila adresu ke kontrole na web. adresa bude NECO-download-data-link.html
RewriteRule ^download\.php$ %1-download-data-link.html? [R=301,L,NE]
# pri dalsi kontrole prevede NECO-download-data-link.html zpet na download.php?rw=3&ds=NECO a uz to hleda v adresarich
# ale v adresnim radku prohlizece uz zustane ta prichozi NECO-download-data-link.html
#QSA prida query string, bude se pak jeste hodit. rw=3 muzeme pak odchytit v php ALE hlavne brani cykleni, jinak
# by to odchytil zase znovu RewriteCond %{QUERY_STRING} ^ds=([^&]+)$ kdyby tam zustal jen ds=NECO
RewriteRule ^([^/]+)-download-data-link\.html$ download.php?rw=3&ds=$1 [L,QSA]
Více na: https://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html
77LW NO topic_id
AD
Další témata ....(Topics)
Inheritance extends - dědění v třídách JavaScript.
Pokud nastane situace, že u několika objektů potřebujeme uložit více údajů a nechceme zasahovat již do základní třídy, můžeme jí rozšířit o další potřídu. Hlavní třídě budeme říkat PARENT (rodič) a podtřídě CHILD (dítě). To že DÍTĚ dědí z určité třídy doložíme výrazem "extends" a název třídy rodiče. Konstruktor RODIČE pak v třídě DÍTĚTE označíme výrazem super() a do závorek vložíme parametry, které bychom zadávali do třídy rodiče. Při vytváření objektu již můžeme použít přímo třídu DÍTĚTE a zadat parametry, které se přes super() dostanou i do třídy RODIČE. DÍTĚ má přístup ke všem privátním funkcím RODIČE, ale i k jeho proměnným (samozřejmě v rámci objektu vytvořeného přes myObjekt = new .....).
class Continent {
constructor(continent) {
this._continent = continent;
}
present() {
return ' is located in ' + this._continent;
}
}
class Country extends Continent {
constructor(continent, country) {
super(continent);
this._country = country;
}
show() {
return this._country + this.present() ;
}
}
myCountry = new Country("Europe", "Czech Republic");
// alert(myCountry.show());
Pokud chceme při kompilaci kódu zobrazit chybová hlášení,
odkomentujeme příslušné řádky v souboru php.ini, jehož adresu
získáme pomocí funkce phpinfo() a přepneme Off na On u
display_errors.
Podrobnosti se dočtete v komentářích k jednotlivým nastavením v php.ini
Podrobnosti se dočtete v komentářích k jednotlivým nastavením v php.ini
error_reporting = E_ALL & ~E_NOTICE // vypise i parse errors
display_errors = On
Pro orientaci návštěvy na Vašem webu je tu funkce v PHP, která rozepíše cestu k právě otevřenému souboru do menu, kde jsou jednotlivé části odděleny dvojšipkou:
Path with arrows
Path with arrows - PHP functions make menu when is every folder on files path as links separated double arrows
function PathWithArrows () {
$root = '//moje-stranky.cz';
$cesta = explode('/', $_SERVER["PHP_SELF"]);
$cestaPomociSipek = "";
$home = "";
$n = 0;
foreach ($cesta as $str)
{
if($n == 0){
$home = '<a href="'.$root.'">home</a>';
$n++;
continue;
}
if($str !== ""){
$root .= '/'.$str;
$cestaPomociSipek .= ' » <a href="'.$root.'"> $str </a> ';
}
}
return $home.$cestaPomociSipek;
}
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:31Jak vytvořit slovník podstatných jmen.
Velmi snadno. Stačí si stáhnout slovník pro kontrolu pravopisudo Open Office org a tam již druhy slov májí za lomítkem určující znaky.
//wiki.services.openoffice.org/wiki/Dictionaries#Czech_.28Czech_Republic.29
Ukázka obsahu slovníku:
alokuce/Zalokující/YN
alokátor/H
alolex/H
alomorf/H
aloový/YKRN
aloparentální/YKR
alopatický/YCRN
alopatie/Z
Dodržujte licence slovníků
Editace: 23.5.2020 - 12:06
Počet článků v kategorii: 77
Url:htaccess-id-2364