Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Automatyczne menu.
tadek92
post 18.02.2009, 13:42:58
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 3
Dołączył: 26.07.2008

Ostrzeżenie: (0%)
-----


Witam!
Chciałbym zrobić skrypt, który odczytuje zawartość folderu, a następnie wyświetla nazwy plików tak, aby znak "_" został zastąpiony spacją, pierwsza litera nazwy pliku została wypisana z wielkiej litery oraz żeby nie wyświetlało rozszerzenia pliku.

Czy jest to możliwe?

zawartość folderu czytam w ten sposóp:
  1. <?php
  2. if ($handle = opendir('folder'))
  3.                          {
  4.                                     while (false !== ($file = readdir($handle)))
  5.                              {
  6.                               if ($file != "." && $file != ".." )
  7.                                  {
  8.                                  echo "$file";
  9.                                  }
  10.                              }
  11.                      
  12.                          closedir($handle);
  13.                        }
  14. ?>


Proszę o pomoc i z góry za nią dziękuję.

Ten post edytował erix 18.02.2009, 17:44:30
Powód edycji: [erix] byłoby fajnie, gdybyś czasem używał tagu [php ] zamiast code
Go to the top of the page
+Quote Post
bigZbig
post 18.02.2009, 14:19:41
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jest możliwe zobacz w manualu funkcjie pathinfo, ucfirst i str_replace.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
tadek92
post 18.02.2009, 15:30:34
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 3
Dołączył: 26.07.2008

Ostrzeżenie: (0%)
-----


Znalazłem rozwiązanie:
  1. <?php
  2. if ($handle = opendir('folder'))
  3.                         {
  4.                        
  5.                         while (false !== ($file = readdir($handle)))
  6.                             {
  7.                              if ($file != "." && $file != ".." )
  8.                                 {
  9.                                 $path = "C:/xampp/htdocs/folder/$file";
  10.                                 $link = basename ($path);
  11.                                 $link = basename ($path, ".php");
  12.                                 $link = ucfirst($link);
  13.                                 $link = str_replace("_", " ", $link);
  14.                                 echo "<li><a href=$file>$link</a></li>";
  15.                                 }
  16.                             }
  17.                    
  18.                         closedir($handle);
  19.                       }
  20. ?>

Został mi tylko jeden problem: chciałbym, aby ścieżka do pliku pobierała się sama automatycznie, a nie żeby ją wpisywać ręcznie, ponieważ z reguły każdy serwer ma inną. Czy istnieje taka możliwość? Jeśli tak to proszę o pomoc.

Ten post edytował erix 18.02.2009, 17:44:52
Powód edycji: [erix] jw.
Go to the top of the page
+Quote Post
erix
post 18.02.2009, 17:45:59
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Czy istnieje taka możliwość? Jeśli tak to proszę o pomoc.

Najprościej, to:
  1. <?php
  2. $path = dirname(__FILE__).'/'.$file;
  3. ?>


Ale będzie to wówczas równoważne z:
  1. <?php
  2. $path = './'.$file;
  3. ?>


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
tadek92
post 18.02.2009, 20:44:22
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 3
Dołączył: 26.07.2008

Ostrzeżenie: (0%)
-----


Dzięki za pomoc. Wszystko działa jak należy.

Kod
<?php
if ($handle = opendir('folder'))
                         {
                        
                         while (false !== ($file = readdir($handle)))
                             {
                              if ($file != "." && $file != ".." )
                                 {
                                 $path = dirname(__FILE__).'/'.$file;
                                 $link = basename ($path);
                                 $link = basename ($path, ".php");
                                 $link = ucfirst($link);
                                 $link = str_replace("_", " ", $link);
                                 echo "<li><a href=$file>$link</a></li>";
                                 }
                             }
                    
                         closedir($handle);
                       }
?>


Dzięki za pomoc.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 16:23