![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
napisalem kod ktory zczytuje wszystkie pliki w podanej przeze mnie sciezce. chcialem zeby sprawdzal czy pliki maja rozszerzenie .jpg i jesli tak to robi z nimi kolejne rzeczy (miniaturki, kopiuje itp - skrypt importu fotek do galerii). do sprawdzenia rozszerzenia uzylem preg_match" title="Zobacz w manualu php" target="_manual i zrobilem cos takiego:
na testowym serwerze postawionym na windowsie wszystko jest ok, ale na linuxowym juz nie. chodzi tu o wielkosc znakow, probowalem zarowny z tym i na koncu jak i bez, caly czas to samo, jesli plik ma w nazwie duze litery jest lipa. funkcja zaspisuje do zmiennej jego nazawe malymi no i wszystko sie sypie bo dalsza czesc skryptu odwoluje sie do "nieistniejacych" plikow. wiem ze podobnych tematow juz tu troche bylo, ale nie znalazlem nic co by mi pomoglo, a siedze nad tym od rana... prosze o pomoc dzieki i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może zamiast wyrażeń regularnych użyj funkcji pathinfo" title="Zobacz w manualu php" target="_manual?
Jako parametr podajesz ścieżkę do pliku, w odpowiedzi dostajesz tablicę ze ścieżką, nazwą i rozszerzeniem. Inna opcja - dbaj o to żeby wszystkie pliki miały rozszerzenie pisane małymi literami - zwalcz problem u źródła :) pozdr. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Po skorzystaniu z funkcji pathinfo" title="Zobacz w manualu php" target="_manual, o której wspomniał przedmówca, zamień sobie odczytane rozszerzenie na małe litery za pomocą funkcji strtolower" title="Zobacz w manualu php" target="_manual, porównaj to z frazą `jpg` i po krzyku.
-------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Coś musisz źle robić (dodałem spację, żeby mi łyknął nazwy plików rozdzielone spacjami):
Kod marek@marek-desktop:~$ php -r 'preg_match_all( "/ (.*?)\.(jpg)/i", " bla.jpg dupa.JPG", $m );print_r($m);' Array ( [0] => Array ( [0] => bla.jpg [1] => dupa.JPG ) [1] => Array ( [0] => bla [1] => dupa ) [2] => Array ( [0] => jpg [1] => JPG ) ) Jak widać wielkość liter nie ma znaczenia, wszystko jest ładnie pięknie zapisywane w tablicy wynikowej. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzieki za pomoc, problem rozwiazany...
co do samego preg_match" title="Zobacz w manualu php" target="_manual'a to rzeczywiscie "robilem cos zle" ![]()
jednak zanim to zauwazylem napisalem to samo z uzyciem funkcji pathinfo" title="Zobacz w manualu php" target="_manual i uzyskalem w gruncie rzeczy taki sam efekt dziekuje jeszcze raz za pomoc i poswiecony czas pozdrawiam |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 24.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
swietna funkcja, bardzo sie przyda.
dzieki i pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.07.2025 - 21:31 |