Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [readdir] usuwanie rozszerzeń z nazw plików
Forum PHP.pl > Forum > PHP
Asmox
Mam pewną funkcję na stronie, która listuje zawartość katalogów. Niestety nazwy plików podawane są razem z rozszerzeniami. Wie ktoś jak je usuwać (z nazw plików oczywiście rolleyes.gif )?
kefirek
Albo mozna tez tak
  1. <?php
  2. $plik = 'plik.php';
  3. $nazwa = strtolower(substr($plik, 0, strrpos($plik, ".")));
  4. ?>
phpion
Cytat(kefirek @ 24.02.2009, 21:15:40 ) *
Albo mozna tez tak

Szczególnie dla plików o nazwach typu edek.z.krainy.kredek.txt.
bim2
Phpion można, choć pathinfo" title="Zobacz w manualu PHP" target="_manual będzie i szybsza i wygodniejsza smile.gif

Więc
  1. <?php
  2. echo pathinfo('lol.bez.l.txt', PATHINFO_FILENAME);
  3. ?>

lub
  1. <?php
  2. $sNameFile = 'edek.z.krainy.krede.txt';
  3. $tmp = expllode('.', $sNameFile);
  4. unset($tmp[count($tmp)-1]);
  5. $sNameFile = implode('.', $tmp);
  6. ?>
kefirek
Cytat(phpion @ 24.02.2009, 19:17:18 ) *
Szczególnie dla plików o nazwach typu edek.z.krainy.kredek.txt.


Przykład jest dobry
  1. <?php
  2. $plik = 'edek.z.krainy.kredek.txt';
  3. $nazwa = strtolower(substr($plik, 0, strrpos($plik, ".")));
  4. echo $nazwa;
  5. ?>


Z takiej nazwy pliku edek.z.krainy.kredek.txt zwróci edek.z.krainy.kredek
Nie wiem może u ciebie są pliki z kropką w rozszerzeniu np txt. bo ja takich nie widziałem.
bigZbig
Albo tak

  1. <?php
  2. echo (preg_replace('/.[a-zA-Z0-9]*$/', '', 'plik.php'));
  3. ?>
kefirek
Dokładnie to powinno byc tak

  1. <?php
  2. echo pathinfo('lol.bez.l.txt', PATHINFO_FILENAME);
  3. ?>



// Pomógł--
//ayeo
Asmox
OK, na moim WebServku to wszystko jest w porządku. Ale przy przerzucaniu strony na yoyo.pl są problemy. Mam taki kod:
  1. <?php
  2. if (!empty($pliki)){
  3. foreach ($pliki as $nazwa) {
  4. $nazwa2 = str_replace("-", "&nbsp;", $nazwa);
  5. /*linia 168*/$nazwa2 = pathinfo($nazwa2, PATHINFO_FILENAME);
  6. echo ("<li><a href=\"$sciezka$nazwa\">$nazwa2</a></li>");
  7. }
  8. }
  9. ?>

na serwerze yoyo.pl wyskakuje mi taki błąd:
Warning: pathinfo() expects parameter 2 to be long, string given in /var/www/sites/yoyo.pl/w/o/worldweb/php/include/include.php on line 168
NuLL
A jaka masz wersje PHP ? Jesli nie masz 5.2.x to PATHINFO_FILENAME nie istnieje i z tej funkcji nie mozna skorzystac. Lepszym rozwiazaniem byloby to od bigZbig-a.

A ty @bim2 nie pisz bezsensownych postow bo rownie dobrze mozna wkleic liste f-cji z manuala
Asmox
A no faktycznie sprawdziłem i wersja php jest chyba 5.1.2
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.