abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:22 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 16. a 17. března v Praze na Karlově náměstí 13. O open source hardwaru bude přednášet Mitch Altman.

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | IT novinky

    Počítač NitroPC Pro 2 od společnosti Nitrokey s corebootem Dasharo byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

    Ladislav Hagara | Komentářů: 1
    dnes 07:00 | Nová verze

    Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 1.20. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | IT novinky

    Jednodeskový počítač Raspberry Pi slaví 12 let. Prodej byl spuštěn 29. února 2012 (Wikipedie, 𝕏).

    Ladislav Hagara | Komentářů: 10
    včera 12:00 | Nová verze

    Byla vydána verze 3.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Nová verze

    Byla vydána nová verze 1.6.0 grafického správce diskových oddílů GParted (GNOME Partition Editor) a také verze 1.6.0 živé distribuce GParted Live, která obsahuje tohoto správce a další nástroje pro zálohování či obnovu dat. Linux byl povýšen na verzi 6.6.15-2.

    Ladislav Hagara | Komentářů: 3
    včera 06:00 | Nová verze Ladislav Hagara | Komentářů: 0
    28.2. 22:44 | Nová verze

    Byla vydána (𝕏) únorová aktualizace aneb nová verze 1.87 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.87 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 11
    28.2. 22:11 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    28.2. 18:44 | Zajímavý software

    Společnost Cloudflare pod licencí Apache 2.0 uvolnila zdrojové kódy svého frameworku Pingora napsaného v Rustu pro vytváření rychlých, spolehlivých a programovatelných síťových systémů.

    Ladislav Hagara | Komentářů: 0
    Kolik máte nálepek na víku notebooku?
     (18%)
     (60%)
     (5%)
     (3%)
     (5%)
     (9%)
    Celkem 433 hlasů
     Komentářů: 18, poslední 27.2. 20:10
    Rozcestník

    Dotaz: Jak vybrat soubor podle url v PHP

    6.11.2013 01:05 OO
    Jak vybrat soubor podle url v PHP
    Přečteno: 878×
    Ahoj, ještě nevím jednu věc jak se dělá. Když je v url třeba /novinky, jak mám načíst jiný název, myslím skutečný název souboru v tomto případě news.php předpokládám, že se to přes pole nedělá z důvodu dlouhých časů při prohledávání. Díky

    Odpovědi

    Josef Kufner avatar 6.11.2013 01:59 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Budeš se divit, ale často se to dělá ještě pomaleji – procházením seznamu regulárních výrazů a jejich matchováním. Pokud jich je jen málo, tak to nevadí, ale není to zrovna moc rychlé.

    Lepší přístup je rozbít cestu podle lomítek a nakrmit tím konečný automat, který bude velmi podobný stromu.
    Hello world ! Segmentation fault (core dumped)
    6.11.2013 03:12 OO
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Hm, a co použítí define() ?
    define('muj_ucet', 'my-account'); //skutečný soubor (my-account)
    
    $get = 'muj-ucet'; //toto je v url
    
    echo str_replace('-', '_', $a);
    Jenže se dívám, že do define nelze psát pomlčky a při použití replace zase nedostanu nijak tu hodnotu:-( Jak ji můžu vypsat? Díky
    6.11.2013 09:55 Karlos
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    můžeš použít array, jestli už jsi teda zjistil konkrétní požadavek v $get
    $pages = array('muj-ucet' => 'my-account', 'dalsi' = > 'next');
    $get = 'muj-ucet'; //toto je v url
    $soubor=$pages[$get].'php';
    
    Samozřejmě doplnit podmínky na existenci souboru.Další level je naházet stránky do databáze, dotazem jistíš soubor. Pak se dá krásně např. generovat menu, sitemapa, acl pravidla a další.
    6.11.2013 15:17 Kozzi
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    no muzes pouzit funkci constant('nazev_konstanty')
    6.11.2013 11:51 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Především se nedělá to, že začneš optimalizovat kód na základě nějaké své domněnky. Napiš to co nejčitelněji a nejjednodušeji. Optimalizace začni řešit až ve chvíli, kdy ti nějaký profiler ukáže, že projít pole s počtem položek nanejvýš v řádu desítek je tvůj nejvážnější problém. :-)
    Josef Kufner avatar 6.11.2013 15:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Přesně tak.
    Hello world ! Segmentation fault (core dumped)
    6.11.2013 15:33 Kozzi
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    jj dobra, rada. Nejhorsi je ze me uz pri psani v hlave bezi automaticky profiler a vsude vidim zbytecne takty, kterym se da vyhnout :D
    7.11.2013 00:41 Sten
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Pokud je skutečně snaha se vyhnout zbytečným taktům, pak doporučuji místo PHP použít nějaký kompilovaný jazyk přes SCGI nebo jako modul do webserveru :-D
    7.11.2013 08:27 Kozzi
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    No tak tam kde hlavne potrebujeme setrit takt, tak uz pomalu prepisujeme kod do D, ale bohuzel jsem jsem prisel v dobe kdy uz byl cely system naprasen v Praseci Hromadce Pismenek
    7.11.2013 09:45 Kit
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Rychlé aplikace se dají psát i v PHP...
    7.11.2013 10:04 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    <rejp>Definuj rychlé</rejp> :-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.11.2013 10:54 Kit
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Takové, že výkon aplikace vyhovuje účelu.
    7.11.2013 11:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Tak to jo, to lze i v bash-i. :-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.11.2013 11:13 Kit
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Souhlas. Když se v Bashi vyhýbáš cyklům pro zpracování jednotlivých řádek dat, tak ta rychlost bývá také velmi slušná.
    7.11.2013 11:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Radši konce, nebo budu chtít vědět co je „slušná rychlost“ ;).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 7.11.2013 20:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Ftip je v tom, že pak Bash jen poslepuje jiné programy a do samotného zpracování dat už nekecá. Takže jeho pomalost se tak nějak nedostane ke slovu.
    Hello world ! Segmentation fault (core dumped)
    7.11.2013 21:07 Kit
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Přesně tak jsem to myslel. Vždyť Bash je jen "Další skořápka". Funkce a metody v PHP mohou sloužit podobně jako programy volané v shellu.
    Josef Kufner avatar 7.11.2013 21:55 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    No... můžou, ale nebývá to moc časté. PHP má ten typický use-case přecejen trošku jiný.
    Hello world ! Segmentation fault (core dumped)
    7.11.2013 22:43 Kit
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Myslel jsem to jinak. Některé funkce v PHP mohou dělat i poměrně komplexní činnosti a nemusí přitom volat žádný externí program. Vzhledem k tomu, že tyto funkce bývají napsány v C/C++, bývají i docela rychlé.
    7.11.2013 16:02 Kozzi
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    JJ to daji, ale jsou pripady kdy proste vykon php nestaci :). Popravde co se rychlosti kodu v PHP tyce tak si dovolim tvrdit ze neni moc lidi co dokaze psat tak rychlej php kod jako mi v praci :). Jinak vzdycky je jeste moznost nasadit HipHop coz nas kod jeste vyrazne zrychli.
    7.11.2013 12:28 Dát smazat | skóre: 6 | blog: druhá kolej
    Rozbalit Rozbalit vše Re: Jak vybrat soubor podle url v PHP
    Mám pocit, že dneska už se obvykle nejde v URL po souborech.

    Větišnou máš Router, ten vezme URL požadavku např ("novinky" nebo "clanek/2150-jak-vydelat-penize") Propere to řadou regulárních výrazů a podle toho který sedí zavolá třídu - její metodu a předá zbytek. Takže například přo příklad 2 by volal Article::showOne(2150). Ta část co volá se občas nazývá Controller (Presenter).

    Třída Article se pak načte pomocí Autoloadingu, takže tebe jako developera pak takové detaily nemusí zajímat.

    Jinak poslední regulár bývá chybová hláška: Třeba 404 nenalezeno.

    Na co si musíš dát bacha, pokud načítáš soubory podle vstupu v požadavku je, aby někdo něpožádal třeba "config" a nebo prostě nějaký soubor, který nemá být vstupní. Nejsnáz asi výčtem povolených hodnot:
    $routy = array( 'novinky' => 'novinky.php', 'admin' => 'admin-public.php' );

    if(!is_set($routy($req))) { ukaz_404(); }

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.