Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: lista plików bez rozszerzeń
Forum PHP.pl > Forum > PHP
termi
Witam,
Na początku chcialem poinformowac ze przeszukalem google i nie znalezlem zadowalajacej mnie odpowiedzi na nurtujące mnie pytanie ktore wam przedstawie. Jestem początkujacym programista w php i chce sobie stworzyc stronke na ktorej bedzie wyświetlana lista plików z danego katalogu. Mój problem polega na tym ze takową liste tworze bez wiekszych problemów tylko nie potrafie zrobić aby zazwy plików wyświetlaly się bez rozszerzeń.
Bardzo prosze o pomoc
Cysiaczek
www.wrozenie-z-postow.pl

Pokaż kod

Pozdrawiam.
kicaj
uzyj preg_replace() dla nazw plikow. Usun nim rozszerzenia stosuja wyrazenia regularne
matix
Bardzo proste smile.gif

  1. <?php
  2. $oDir = scandir('twojkatalog/', 0);
  3.  
  4. for ($i = 0; $i <= $oDir; $i++)
  5. {
  6. // dzielenie nazy pliku na dwie częsci - 1: nazwa , 2: rozszezenie
  7. $ex = explode('.', $oDir[$i]);
  8. $ex = $ex[$i][0]; // a jak nie zadzaiala to: $ex = $ex[0][$i];
  9. echo $ex;
  10. }
  11. ?>


Proste ale skuteczne smile.gif
termi
Dzieki wielkie za pomoc smile.gif
kicaj
@matic: twoj skrypt dziala tylko dla zastosowan: nazwa.rozszerzenie, niestety nie dla plikow: nazwa.nazwa2.rozszerzenie smile.gif

Uzyj preg_replace():
  1. <?php
  2. $oDir = scandir('twojkatalog/', 0);
  3.  
  4. for ($i = 0; $i <= $oDir; $i++)
  5. {
  6. $oDir[$i] = preg_replace( '/.[a-zA-Z]+$/is', '', $oDir[$i] );
  7. echo $oDir[$i];
  8. }
  9. ?>

Pisane na szybkiego...
Kicok
Rozszerzenie plików może zawierać również cyfry, więc [a-zA-Z] niespecjalnie się tu nada.

  1. <?php
  2.  
  3. $filename = 'nazwa.pliku.mp3';
  4.  
  5. $filename = implode( '.', explode( '.', $filename, -) );
  6. echo $filename;
  7.  
  8. ?>


A od PHP 5.2.0:
  1. <?php
  2.  
  3. $filename = 'nazwa.pliku.mp3';
  4.  
  5. $filename = pathinfo( $filename, PATHINFO_FILENAME );
  6. echo $filename;
  7.  
  8. ?>
termi
No i mam problem, dla proby stworzylem sobie plik index.php ktory wyglada nastepująco
  1. <?php
  2. $oDir = scandir('html/', 0);
  3. for ($i = 0; $i <= $oDir; $i++)
  4. {
  5. $oDir[$i] = preg_replace( '/.[a-zA-Z]+$/is', '', $oDir[$i] );
  6. echo $oDir[$i];
  7. }
  8. ?>

i mam katalog html w ktorym mam jakies pliki
wedlug tego co piszecie powinna sie pojawic lista tych plików a za miast tego powjawia sie error:
Cytat
Fatal error: Call to undefined function: scandir() in c:\usr\krasnal\www\ces\index.php on line 2

pomocy sad.gif
mozecie wytlumaczyc co oznacza linijka:
Cytat
$oDir[$i] = preg_replace( '/\.[a-zA-Z]+$/is', '', $oDir[$i] );

i chcialem przeprosic ze tu umieszczam tego posta a nie w przedszkole bo tam sie de facto powinien znalesc..
Cysiaczek
Ale kombinujecie z tym rozszerzeniem tongue.gif
strrchr" title="Zobacz w manualu PHP" target="_manual na nazwie pliku i tyle

Pozdrawiam.
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.