Jak dostat jméno souboru bez přípony

Občas jsem se dostal do situace, kdy jsem musel např. odělit příponu od jména souboru. Popíšu tu jeden z možných postupů...

Občas jsem se dostal do situace, kdy jsem musel např. odělit příponu od jména souboru. Nabídnu Vám tedy jedno řešení, i když o něm vím, že má jednu velkou mouchu.
Pokud má soubor v názvu víc teček, uvedený postup nebude fungovat (nicméně to, že soubor má v názvu víc teček není zrovna obvyklý případ).
Vím, šlo by to ošetřit, ale to až někdy jindy.

Takže, použiju fci explode(), basename() a strlen().
Zjistím si přes REQUEST_URI celou adresu bez serveru, a pomocí fce basename získám pouze jméno souboru. Rozdělím tedy soubor pomocí explode, dělící prvek je . (tečka). Explode mi soubor rozdělí na části, volám je tedy rozdel[0], rozdel[1] a pokud by bylo více teček tak i [2],[3]…
Dále už jenom všechno proženu přes strlen, který mi spočítá znaky. Všechny proměnné vyechnuju a je to… :-)
 

<?php
$soubor2=$_SERVER['REQUEST_URI'];
$soubor=basename("$soubor2");
$rozdel=explode (".", $soubor);
$pripona="$rozdel[1]";
$jmeno_bez_pripony="$rozdel[0]";
$delka=strlen($soubor);
$delka_pripony=strlen($pripona);
$delka_jmeno=strlen($jmeno_bez_pripony);
?>


PS: Článek byl z důvodu překopání funkcionality webu zkrácen o ukázku. Dík za pocopení.


<Starší | tento článek | Novější>

Napsáno: 4. 11. 2005, 00:00 | Přečteno: 12444x | Kategorie: PHP School | Napsal: peCan.cz |
Přijde kapitán letadla za pasažéry a říká: musíme vyhodit půlku pasažérů jinak letadlo spadne. Pasažéři na to: tak nebudeme sadisti a vezmeme to podle abecedy, Arabové, buzeranti, cigáni.
Petr Graubner | ICQ- 264912843, Jabber - pecan27@njs.netlab.cz | RSS | Šlape na miniRS | Styl CoolStyle | Zpracováno za: 0.131s | Počet SQL dotazů ve fóru: 1 | Admin