![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
witam.
próbowałem już wielu kombinacji i różnych funkcji pobierających listę plików (opendir, readdir, klasa dir, scandir) ale chyba się poddaję. Potrzebuję skryptu który: 1. pobierze listę plików z katalogu 2. odetnie rozszeżenie (pliki mają w nazwie jedną kropkę tylko i rozszerzenie html) 3. wyświetli echo nazw plików bez rozszerzenia i stworzy menu. przykładowo a href="index.php&wyswietl=start" po najechaniu na pozycję stworzoną na pdst pliku start.html. Menu ma być posortowane alfabetycznie lub według daty modyfikacji. Mam już zrobiony skrypt, ale nie wyświetla alfabetycznie:
i inny który wyświetla alfabetycznie, ale nie umiem zrobić z niego menu:
w tym drugim trochę namieszałem z explode bo wyświetlało dobrze (alfabetycznie i menu było z linkami. niestety z rozszerzeniem), ale po dodaniu explode wyświetla tylko ostatnią pozycję menu, a zamiast nazwy pliku wyskakuje "array". Dziękuję z góry za pomoc. Męczę się z tym od kilku dni już. </ul id=\"menu\"> Ten post edytował hiszpanespaniol 4.05.2008, 23:30:45 -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 59 Pomógł: 6 Dołączył: 1.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Z palca, także sorry za byki. Poza tym proponuję konsultację z manualem w sprawie funkcji explode - zerknij sobie co ona zwraca. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Kod substr($folder[$k],0,-5) A basename" title="Zobacz w manualu PHP" target="_manual, to co? ![]() Cytat Kod $folder = dir('podstrony'); Tak samo z klasą DirectoryIterator; o ile pamiętam, to trzeba wrzucać pozycje do osobnej tablicy i ją dopiero przesortować... IMHO, najlepiej by było posłużyć się odpowiednim ls-em, ale raczej nie masz odblokowanych funkcji powłoki w PHP... -------------------- ![]() 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! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Co co? Chcesz mi powiedzieć, że zwrócą się ścieżki z plikami, a nie same nazwy plików? -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
popełniasz podstawowy błąd. w tej samej pętli odczytujesz i jednocześnie wyświetlasz listę. a sam piszesz, że chcesz ją najpierw posortować. zrób tak.
1. w pierwszej pętli odczytaj wszystkie nazwy plików, przefiltruj je (odrzucasz katalogi, obcinasz rozszerzenia, itp.) i dodaj do tablicy gdzie będziesz miał wyłącznie te nazwy (np. $files) 2. posortuj tą tablicę, np. $files = sort($files); 3. w drugiej pętli wyświetlaj sobie to menu / listę bazując na odfiltrowanej i posortowanej liście plików $files prościej się nie da tego opisać. -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat a nie same nazwy plików? A zajrzałeś chociaż do manuala? -------------------- ![]() 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! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
@solureaver1: ten skrypt powoduje wyświetlenie czegoś takiego ale spróbuję to zrobić. Co do rady @nevt - zrobię jak piszesz jednak trochę mi z tym zejdzie
![]() dzięki wszystkim @solureaver1: wystarczyło mi usunąć cudzysłów przy definiowaniu zmiennej $pliki. teraz jest ok tylko co pewien czas pojawiają się przerwy np. są linki linki linki a później 3 linikji pustego miejsca i dalej linki. poza tym ok. .... już jest całkiem dobrze - dodałem znaczniki listy html przed i po skrypcie. Także problem rozwiązany. Zajmę się teraz metodą podaną przez @nevt, tak żeby się wprawić. Dziękuję wszystkim za pomoc @nevt (czy ktoś inny, kto może pomóc) postąpiłem według Twoich wskazówek:
ale w menu tworzy się tylko jedna pozycja. Sortowanie jak zastosuję po 1szej pętli ($do_menu = sort($do_menu) ![]() Ja wiem, że błąd popełniam, ale nie wiem gdzie. Proszę o pomoc Ten post edytował hiszpanespaniol 16.04.2008, 12:26:08 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
powodzenia -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
ten skrypt działa, ale niektóre pozycje wyświetla dwa razy. czyli chyba są dwa razy dodane do tablicy, obok siebie zawsze. Nie wiem jak to rozwiązać, ale próbuję.
Już ![]() Fajnie, dzięki. Brakowało klamr w If'ie, hehe to taki sprawdzian czy nie robię ctr+c i ctrl+v ? O sortowaniu wg innych kryteriów zapewne piszą w manualu. Dziękuję za pomoc nevt Ten post edytował hiszpanespaniol 17.04.2008, 10:58:36 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 21:29 |