Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny problem z plikami :-).
Forum PHP.pl > Forum > PHP
cahe
Hehehe :-). Zaraz głupawki dostane. Siedzę już trochę w php ale nie rozumiem jednego (nie jestem przyzwyczajony do korzystania z plików ;-)).

[php:1:daa688ee49]fputs($uchwyt_pliku, $string . "rn");[/php:1:daa688ee49]

To zapisuje plik w takiej formie:

Kod
4|40|1|7|350019732799628|2003-04-30|2003-05-13|S|Simens A35 IDEA|Idea POP|TELEXTREME



4|33|1|7|350019734939842|2003-04-30|2003-05-13|S|Simens A35 IDEA|Idea POP|TeleGSM


Nie potrzebuje tych głupich odstępów, ale dobra, kombinujemy dalej:

[php:1:daa688ee49]fputs($uchwyt_pliku, $string . "n");[/php:1:daa688ee49]

Kod
4|40|1|7|350019732799628|2003-04-30|2003-05-13|S|Simens A35 IDEA|Idea POP|TELEXTREME







4|33|1|7|350019734939842|2003-04-30|2003-05-13|S|Simens A35 IDEA|Idea POP|TeleGSM


Nie no, jeszcze lepiej - trzy odstępy :-).

To samo ma się z nr... proszę o pomoc, bo późno i nie mam już siły myśleć :-).
uboottd
Jests absolutnie pewien ze w zmiennej $string nie ma juz znaczkow formatujacych ? Albo zapisujesz pusty string ?

Bo generalnie drugi sposob jest wlasciwy. Ew. sprobuj:

[php:1:b3a2c4c115]
fputs($uchwyt_pliku, trim($string) . "n");[/php:1:b3a2c4c115]
spenalzo
A usuwasz z wcześniej pobranej linijki znaki nowej linii na końcu?
[php:1:14d27206a0]<?php
$string=eregi_replace("n","",$string);
?>[/php:1:14d27206a0]
DeyV
a czemu erg_rep...?
Cytat
str_replace
If you don't need fancy replacing rules, you should always use this function instead of ereg_replace() or preg_replace().
FiDO
Otworz plik w trybie binarnym => fopen('nazwa',"wb") lub "ab" jesli 'appendujesz'.
cahe
Cytat
Jests absolutnie pewien ze w zmiennej $string nie ma juz znaczkow formatujacych ? Albo zapisujesz pusty string ?

Bo generalnie drugi sposob jest wlasciwy. Ew. sprobuj:

[php:1:1c5a52356d]
fputs($uchwyt_pliku, trim($string) . "n");[/php:1:1c5a52356d]


Tak
cahe
Cytat
Otworz plik w trybie binarnym => fopen('nazwa',"wb") lub "ab" jesli 'appendujesz'.


Nie pomoglo. To samo jest dalej.
cahe
[php:1:dede285636]<?php
fputs($uchwyt, "string" . "n");

?>[/php:1:dede285636]

Jest to samo, czyli kwadraciki (aczkolwiek w notatniku tak to widać, a plik ten bedzie wlasnie w notatniku ogladany). rn podwojne linie. "string" dalem dla pewnosci, ze nie ma zadnych n ani innych w stringu przekazywanym.
spenalzo
Dodaj sobie jeszcze jeden znaczek | na końcu każdej linijki i przy ładowaniu pliku po prostu wyczyść tą komórkę tablicy.
cahe
Cytat
Dodaj sobie jeszcze jeden znaczek | na końcu każdej linijki i przy ładowaniu pliku po prostu wyczyść tą komórkę tablicy.


Ale to bedzie otwierane w notatniku tuż po wygenerowaniu.
FiDO
[php:1:527c6828aa]
$f = fopen("bla.txt","wb");
fputs($f,"string"."n");
fclose($f);

$f = fopen("bla2.txt","wb");
fputs($f,"string"."rn");
fclose($f);
[/php:1:527c6828aa]

Te dwa tez Ci daja bledne wyniki??
U mnie dziala i w trybie binarnym i w tekstowym. Moze blad masz gdzies indziej?

A tak w ogole na jakim systemie dzieje sie akcja?
cahe
Cytat
[php:1:770969744f]
$f = fopen("bla.txt","wb");
fputs($f,"string"."n");
fclose($f);

//Update 2:: Oczywiscie to takze działa, przepraszam za wprowadzenie w błąd.
$f = fopen("bla2.txt","wb");
fputs($f,"string"."rn");
fclose($f);
[/php:1:770969744f]

Te dwa tez Ci daja bledne wyniki??
U mnie dziala i w trybie binarnym i w tekstowym. Moze blad masz gdzies indziej?

A tak w ogole na jakim systemie dzieje sie akcja?


Win2k. To niestety też nie działa sad.gif.

Update:
[php:1:770969744f]
$f = fopen("bla2.txt","wb");
fputs($f,"string"."rn");
fputs($f,"string"."rn");
fclose($f);[/php:1:770969744f] <== to dziala znakomicie :-).
KaMeLeOn
Pokaż jak przygotowujesz $string...
cahe
Cytat
Pokaż jak przygotowujesz $string...


Nie widze związku. Daje na próby $string = "string";
KaMeLeOn
Cytat
Nie widze związku. Daje na próby $string = "string";

Nie sam napis string, bo to zawsze działa...
Pokaż jak przygotowujesz wiersz(e) do zapisu...
FiDO
I twierdzisz, ze [php:1:16a6c43cb1]$f = fopen("bla2.txt","wb");
fputs($f,"string"."rn");
fclose($f);[/php:1:16a6c43cb1]
nie dziala, a to samo w podwojnym fputs'em dziala??

Napewno mowisz (piszesz) nam cala prawde? winksmiley.jpg
Cos dziwny ten Twoj problem...
cahe
Cytat
I twierdzisz, ze [php:1:38ecdf7648]$f = fopen("bla2.txt","wb");
fputs($f,"string"."rn");
fclose($f);[/php:1:38ecdf7648]
nie dziala, a to samo w podwojnym fputs'em dziala??

Napewno mowisz (piszesz) nam cala prawde? winksmiley.jpg
Cos dziwny ten Twoj problem...


Nie, nie... dziala oczywiscie jako przyklad binarne otwarcie + rn. Nie wazne czy jedno czy dwa czy cztery (dalem dwa, zeby zobaczyc czy nie narobi odstepow).

//Update::

A teraz na spokojnie. Działa podane przez FiDO binarne otwarcie pliku i zapisywanie do niego, nie ważne czy jednej czy dwóch linijek. Chciałem tylko spradzić jak się zachowa przy dwóch, a potem wkleiłem odruchowo. A więc: dzięki FiDO :-). Nadmienie, że to samo dzieje się na innych systemach Win2k z którymi miałem styczność :-).
KaMeLeOn
Mówie Ci, pokaż jak przygotowujesz wiersze do zapisu...
Bo to niemożliwe żeby samo z siebie robiło odstępy.
cahe
Cytat
Mówie Ci, pokaż jak przygotowujesz wiersze do zapisu...
Bo to niemożliwe żeby samo z siebie robiło odstępy.


Dobra.. przygotowuje tak:

$string = "string";

DOSŁOWNIE :-). Nic więcej nic mniej. I z tymi stingami "string" były odstępy (i są :-))
KaMeLeOn
Nadal chciałbym zobaczyć kod... jak ty to zapisujesz?
Który tryb? w czy a?
Używasz pętli? Pokaż... chyba że sie wstydzisz? :wink:
cahe
Cytat
Nadal chciałbym zobaczyć kod... jak ty to zapisujesz?
Który tryb? w czy a?
Używasz pętli? Pokaż... chyba że sie wstydzisz? :wink:


Nie, nie wstydze się :-). Poczytaj wątek - zobaczysz jak zapisuje. Wszędzie stosowałem zasadę $string = "string";
KaMeLeOn
Cytat
Nie, nie wstydze się :-). Poczytaj wątek - zobaczysz jak zapisuje. Wszędzie stosowałem zasadę $string = "string";

Zacząłeś wątek innymi przykładami... stąd moje pytania.
FiDO
Bez trybu binarnego na windowsie dzieja sie czasem takie cyrki z koncami linii, cos nie moge teraz znalezc przykladu na wylozenie sie skryptu bez trybu binarnego, ale tez mi sie to zdarzalo, zawsze b pomagalo.
cahe
Cytat
Cytat
Nie, nie wstydze się :-). Poczytaj wątek - zobaczysz jak zapisuje. Wszędzie stosowałem zasadę $string = "string";

Zacząłeś wątek innymi przykładami... stąd moje pytania.

Rozumiem twoje wątpliwości, ale przerabiałem to wiele razy. Nawet ze str_replace na nrt i f + wszelkie możliwe trimy i chopy :-). Nic nie pomagało. FiDO podał dobre rozwiązanie. Co ciekawe nie występuje to na mojej maszynce linuxowej ani na żadnej innej, która nie działą pod kontrolą win2k (być może winxp także).
KaMeLeOn
Cytat
Bez trybu binarnego na windowsie dzieja sie czasem takie cyrki z koncami linii, cos nie moge teraz znalezc przykladu na wylozenie sie skryptu bez trybu binarnego, ale tez mi sie to zdarzalo, zawsze b pomagalo.

Szczerze mówiąc to nigdy mi się to na windach nie przydażyło, a zajmowałem się plikami dosyć poważnie i zapisywałem do nich na kilkanaście różnych sposobów... Hmm...
FiDO
MI tez juz dawno nie, ale pamietam ze kiedys mi sie tak dzialo.
Jak znajde jakis przyklad z takim bledem i nie zapomne to tu napisze.
Cytat
Co ciekawe nie występuje to na mojej maszynce linuxowej

No bo to przypadlosc windowsowa, sprawdz jak mozesz na jakis innych windowsach ten bledny kod.
spenalzo
Ja też miałem raz taki problem... nie pomagało dosłownie nic.
Więc zarzuciłem ten projekt :-D.
cahe
Cytat
MI tez juz dawno nie, ale pamietam ze kiedys mi sie tak dzialo.
Jak znajde jakis przyklad z takim bledem i nie zapomne to tu napisze.
Cytat
Co ciekawe nie występuje to na mojej maszynce linuxowej

No bo to przypadlosc windowsowa, sprawdz jak mozesz na jakis innych windowsach ten bledny kod.


Jak widze z useragentów używacie win98 - może stąd różnice ;-).
KaMeLeOn
Cytat
Jak widze z useragentów używacie win98 - może stąd różnice ;-).

To że mam w useragencie Win98 to nie znaczy, że go ciągle używam... :wink:
cahe
Cytat
Cytat
Jak widze z useragentów używacie win98 - może stąd różnice ;-).

To że mam w useragencie Win98 to nie znaczy, że go ciągle używam... :wink:


Oczywiście :-).
FiDO
Komp, na ktorym mam net'a jest na win98, a to nie jest moj komp. Na moim takich badziewnych systemow nie ma winksmiley.jpg
cahe
Cytat
Komp, na ktorym mam net'a jest na win98, a to nie jest moj komp. Na moim takich badziewnych systemow nie ma ;)


I tak dobrze, że to nie Millenium :-).
FiDO
Meeeeeee jest dla baranow winksmiley.jpg
cahe
Cytat
Meeeeeee jest dla baranow winksmiley.jpg
laugh.gif laugh.gif laugh.gif

[OT] Nie wiem jak wy - ale ja uważam, że ze stajni m$ najlepszy jest Win2k :-). Oczywiście tylko ze stajni M$ :-).
spenalzo
Cytat
[OT] Nie wiem jak wy - ale ja uważam, że ze stajni m$ najlepszy jest Win2k :-). Oczywiście tylko ze stajni M$ :-).

Windows XP - mam 2-4 tygodnie i za cholerę nie zrezygnuję.
cahe
Cytat
Cytat
[OT] Nie wiem jak wy - ale ja uważam, że ze stajni m$ najlepszy jest Win2k :-). Oczywiście tylko ze stajni M$ :-).

Windows XP - mam 2-4 tygodnie i za cholerę nie zrezygnuję.


Miałem, zrezygnowałem. BTW korzystałeś z Win2k? Albo jakiegoś linuxa (slackwar r0x tongue.gif).
FiDO
Ja mam juz od ok roku XP (od kiedy wiem, ze cukierki mozna wylaczyc) i musze powiedziec, ze to dobry system (jak na MS winksmiley.jpg ). Oczywiscie te kolorowe pierdy wszyustko mam powylaczane, tak ze wyglada jak 98 czy 2k. Slackware'a tez mam tongue.gif
BTW co wg Ciebie ma 2k czego nie ma XP?
cahe
Cytat
BTW co wg Ciebie ma 2k czego nie ma XP?


Było gdzieś porównanie :-). Win2k - szybsza wersja WinXP :-). Stabilność. A tak pozatym bardzo podobne do WinXP (w końcu XP ciągnie na podrasowanym silniku 2k...). Jednak jak dla mnie XP za ciężki. No i co NAJWAŻNIEJSZE - w Win2k mam kontrole nad wszystkim. Windows XP ma te wszystkie "ułatwienia" i czasem naprawde miałem problem, żeby dojść jak to-to wyłączyć. Oczywiście nie można Win2000 porównywać do Linuxa pod względem kontroli nad systemem, ale patrząc na WinXP wygląda to bardzo dobrze (w prawie domyślnej konfiguracji).

BTW. XP Home Edition - porażka :-).
FiDO
Cytat
Było gdzieś porównanie :-). Win2k - szybsza wersja WinXP :-).
Bo ja wiem czy szybsza, rozne wyniki widzialem z korzyscia i na ta i na ta strone, wiec mozna uznac remis winksmiley.jpg

Cytat
Stabilność.

XP tez jest stabilny.
Cytat
NAJWAŻNIEJSZE - w Win2k mam kontrole nad wszystkim. Windows XP ma te wszystkie "ułatwienia" i czasem naprawde miałem problem, żeby dojść jak to-to wyłączyć.

Tzn. np czego nie mozna zrobic w XP?? Ja z kreatorow nie korzystam, jak co to gpedit.msc i jechane winksmiley.jpg
Cytat
BTW. XP Home Edition - porażka :-).

Uczcijmy to minuta ciszy winksmiley.jpg
Bo oczywiscie porownujemy XP Pro a nie Home...
KaMeLeOn
Dokończcie rozmowę na PRIV.
EOT.
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.