Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyciąganie fragmentów z nazwy pliku
Forum PHP.pl > Forum > Przedszkole
botnaizi
Witam

Muszę napisać skrypt, który wyciągnie mi z nazwy pliku kilka znaków, następnie wypisze je w odpowiedniej sekcji.
Dokładniej. Chodzi o to, że mam plik z nazwą np. ffa-1201130043-de_train.dem i takich jest więcej. Dokładnie nazwa oznacza: ffa(serwer)-12(rok)01(miesiąc)13(dzień)00(godzina)43(minuta) cała reszta nie jest potrzebna, no chyba że .dem, żeby tylko pliki dem wybierało, ale tego w sumie nie musi być bo będą w oddzielnym folderze.
Muszę te wszystkie informacje wydzielić i je wypisać w postaci linków tak aby pokazywało dzień, a w jego sekcji wszystkie dema do niego należące. Jakby były jakieś "-" w dacie to ułatwiłoby sprawę, jednak tak już zapisuje i nie wiem jak się za to wziąć. Myślałem nad wyrażeniami regularnymi, ale nie mogę znaleźć informacji czy da się np wyszukać oddzielnie 2 znaków.
Liczę, że ktoś podrzuci pomysły jak się w ogóle za to zabrać.

Pozdrawiam
Mnichasso
explode
substr

zainteresuj sie tym tongue.gif
botnaizi
O właśnie substr, używałem gdzieś kiedyś tej funkcji ale nie mogłem jej teraz znaleźć. Teraz mam już chyba wszystko czego mi trzeba było smile.gif
Dzięki!

Jednak mam jeszcze jeden problem. Chcę sobie wpisać dane wyciągane przez substr do tablicy jednak zapisują się wszystkie w $tablica[0] a już $tablica[1] nic nie ma a powinno być kilka rekordów. Jak tak mam to wyprintuje dobrze, jednak jak już chcę dalej skorzystać z tego to właśnie printuje cały ciąg jakby dopisywało do 0 miejsca w tablicy. Co tu jest nie tak ?
Kod
                                        $i = 0;
                
                    $arrsrv[$i]=substr($plik,0,3);
                    $arryear[$i]= substr($plik,4,2);
                    $arrmsc[$i]= substr($plik,6,2);
                    $arrday[$i]= substr($plik,8,2);
                    $arrhour[$i]= substr($plik,10,2);
                    $arrmin[$i]= substr($plik,12,2);
                    
                    print $arrsrv[$i];
                    print $arryear[$i];
                    print $arrmsc[$i];
                    print $arrday[$i];
                    print $arrhour[$i];
                    print $arrmin[$i]."<br>";

                    $i++;


Tablice powinny wyglądać tak :
Kod
$arrsrv=array("ffa", "dd2", "dd2", "ffa");
$arryear=array("12","12","12","12");
$arrmsc=array("01","01","01","01");
$arrday=array("12","13","13","15");
$arrhour=array("12","01","06","22");
$arrmin=array("12","05","02","33");


Jednak coś jest nie tak i wszystko zostaje wpisane pod 0

@untorched: faktycznie, taki głupi błąd smile.gif Teraz już tylko dokończyć bez takich błędów smile.gif Dzięki
untorched
Prawdopodobnie z każdym wczytywaniem do tablic ustawiasz $i = 0;
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.