![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 13.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z automatycznym tworzeniem plików (nazwy pobierane z tablicy). Wrzucam funkcje fopen() do pętli for i tworzy mi tylko plik z ostatniego przejścia pętli. Wcześniejszych plików nie tworzy.To samo jest gdy użyje touch Inne operacje na tej pętli działąją np echo. Jeśli ktoś spotkał się z takim problemem to prosiłbym o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Podaj kod php bo nikt nie wie jak Twoja pętla wygląda...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 13.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
gdybys zaraz, bo utworzeniu zmiennej $nazwa dał:
echo $nazwa.'<br />'; to bys wiedział w czym tkwi błąd. Nazwa tworzy ci sie razem z enterem, gdyż tak działa funkcja file() musisz dac trim. pozatym jak jest fopen, dobrze by bylo, gdyby bylo fclose.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 13.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nospor wielkie dzięki. Zadziałało. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Powiedz tylko dlaczego tworzył ostatni plik z listy ? (bo tego nie kumam) |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pisałem przecież. Pobierając wiersze z pliku za pomocą file(), dostawałeś we wszystkich wierszach, oprócz ostatniego, na koncu enter. No i poźniej kleciłes taką nazwę pliku z enterem po środku, gdyż dodawales jeszcze .html. No a pliki z enterami w nazwie nie można założyć, więc ci nie zakładał. A że ostatni wiersz w pliku nie zawierał entera, więc tylko on miał poprawną nazwę. Dla tego też uzyłem funkcji trim(), by skasować entery i inne białe znaki jesli były.
pozdro ps: przenoszę na php Początkujący, gdyż tu jest miejsce tego topicu |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może obrazkowo Ci to pokażę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
plik.txt Kod nazwa1 nazwa2 nazwa3 nazwa4 Każda nazwa jest oddzielona znakiem nowej linii, tak? Funkcja file pobiera plik i robi z jego zawartości tablicę eksplodując poprzez znak nowej linii, tak? Ale dodatkowo nie usuwa tego znaku nowej linii przez co, np. po:
Tablice wyglądają tak: Kod Array ( [0] => 'nazwa1 ', [1] => 'nazwa2 ', [2] => 'nazwa3 ', [3] => 'nazwa4' ) Czyli do tej nazwy pliku dołączany jest znak nowej linii przez co właśnie powstaje ten enter po nazwie... a ostatnia nazwa pliku nie posiada nowej linii (bo jest ostatnią linią w pliku) i dlatego nie ma tego znaku na końcu, tak? Mam nadzieję, że rozumiesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:11 |