![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam prosty skrypcik przetwarzający plik XML, wszystko już gra poza jednym Pobieram plik komendą :
Potrzebuję zrobić taki warunek:
Zawiesiłem się, proszę o pomoc (IMG:style_emoticons/default/smile.gif) Nie wiem w jaki sposób przetwarzając linijkę tymczasowo sprawdzić następną, a następnie przejść do tej następnej i ją przetwarzać ... itd Z góry dziękuję za wszelką pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się funkcją file -> http://pl.php.net/manual/pl/function.file.php
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Plik jest dosyć sporych rozmiarów,
nie chciałbym go całego pakować do tablicy, jakieś inne rozwiązanie ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 309 Pomógł: 56 Dołączył: 3.11.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Podobne działanie jak file - lepszy dla większych plików.
Ten post edytował muk4 10.07.2010, 12:08:52 |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wywołaj fgets po prostu jeszcze raz. (IMG:style_emoticons/default/winksmiley.jpg)
Tylko wcześniej zapisz sobie do zmiennej bieżącą pozycję pliku i po sprawdzeniu warunku przesuń uchwyt na zapisaną pozycję. Cytat Podobne działanie jak file - lepszy dla większych plików. Ciekawe, pod jakim względem - jeśli będziesz pisać DVPA zaczynając od A, to będzie dokładnie to samo, gdybyś zaczął pisząc od D. Dvpa, to dvpa i koniec. (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 309 Pomógł: 56 Dołączył: 3.11.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
@erix
(IMG:style_emoticons/default/smile.gif) Muszę przyznać ci rację. W internecie znalazłem informacje że ten kod jest szybszy od file, a jednak różnica jest ogromna. Widać, nie można wierzyć we wszystko póki się samemu nie sprawdzi (IMG:style_emoticons/default/biggrin.gif) Dla zainteresowanych plik 30MB 312.000 linijek file() - 0.30 fgets - 0.80 Ten post edytował muk4 10.07.2010, 13:02:56 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
"Tylko wcześniej zapisz sobie do zmiennej bieżącą pozycję pliku i po sprawdzeniu warunku przesuń uchwyt na zapisaną pozycję."
A w jaki sposób zapiać bieżącą pozycję ? Jakaś wskazówka byłaby mile widziana |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A czy łaskawie przejrzałeś, jakie funkcje plikowe istnieją w PHP? Chyba nie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kategoria forum to przedszkole,
Proszę więc o podanie linków które będą mi pomocne lub o nie pisanie niczego, bo to bez sensu. Zrobiłem prosty licznik linii, zlicza bieżącą pozycję wiersza (do zmiennej $i). Może ktoś mi powie w jaki sposób w środku programu odczytać linię o numerze $i+1 ? Proszę o konkretne odpowiedzi (bez głupot w stylu poszukaj w manualu, bo już szukałem) dziękuję za wszelką pomoc |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Kategoria forum to przedszkole, Ale nie żłobek. A po przeczytaniu jakiegokolwiek kursu nie zadawałbyś w ogóle paru pytań. Cytat (bez głupot w stylu poszukaj w manualu, bo już szukałem) Możemy to bardzo łatwo zweryfikować - w którym rozdziale szukałeś? Cytat Proszę o konkretne odpowiedzi (bez głupot w stylu Cytat Proszę więc o podanie linków które będą mi pomocne lub o nie pisanie niczego, bo to bez sensu. Tutaj pomagamy, a nie dajemy gotowce; te drugie, to nie ten dział. A programista nie mający zmysłu choć prób szukania absolutnie się do tego nie nadaje. Tak mocne słowa, ale taka prawda. I zadam główne pytanie w tym poście: z czym KONKRETNIE masz problem, czego KONKRETNIE nie rozumiesz, co KONKRETNIE sprawia Ci trudność? Tylko nie odpowiadaj, że wszystko/wszystkiego, bo forum, to nie firma prowadząca szkolenia. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem konkretnie, nie chcę gotowca, przecież nie napisałem treści mojego skryptu i nie prosiłem o przeróbkę.
Moje pytanie brzmiało: "Zrobiłem prosty licznik linii, zlicza bieżącą pozycję wiersza (do zmiennej $i). Może ktoś mi powie w jaki sposób w środku programu odczytać linię o numerze $i+1 ?" A czytam tylko stronę php.net i jedyne o co proszę to o podanie nazwy pomocnych mi komend. Jak już mówiłem wolałbym nie robić tablicy jeśli nie muszę. Czytałem o funkcji file, fgets itp, wszystko działa w moim skrypcie, jednakże nie mam bladego pojęcia jak w trakcie trwania pętli sprawdzić zawartość następnej linii (wiersza), jak wspomniałem zrobiłem już licznik linii, ale nie wiem jaką komendą wywołać skok do `$i+1` linii. Pytanie nie jest skomplikowane, proszę tylko o wskazanie mi drogi (czyli podanie pomocnej komendy lub stronki, gdyż przeszukiwałem google i jak na razie nie znalazłem nic pomocnego). |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Hmm, a przeczytałeś pierwszego mojego posta w tym wątku?
http://forum.php.pl/index.php?s=&showt...st&p=764754 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście że przeczytałem i z tego co zrozumiałem to podaje się
string fgets ( resource $uchwyt [, int $długość ] ) a zmienną długość to rozumiem jako rozmiar pliku w formacie HEX Czy rozumiem to właściwie ? |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Może jednak najpierw jakiś kurs przeczytaj, bo nie znajdziemy wspólnego języka, a to elementarz...
A nie chodzi o to, co przepisałeś z manuala, tylko DZIAŁANIE, co głównie robi. Ale jeśli nie opanujesz podstaw, to nie będziemy mogli nawet w pseudojęzyku porozmawiać, którego - zresztą - w pierwszym poście użyłem... |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sorki ale sam sobie poradzę w takim razie
Już zrobiłem co chciałem w inny zupełnie sposób. Nie rozumiem sensu forum jeśli nikt nie chce pomagać w normalny sposób (IMG:style_emoticons/default/sad.gif) Pytania zadawałem normalne, odpowiedzi nie było żadnej konkretnej. Pytania były, odpowiedzi nie było, i niestety na każde pytanie dostawałem obraźliwą odpowiedź. Jestem spokojną osobą która nieraz szuka pomocy, nie wiem co w Was wstąpiło że nie chcecie mi pomóc ? Sam wymyśliłem inny algorytm który zrobi co chcę, więc "DZIĘKUJĘ BARDZO, POSTOJĘ" Ten post edytował wasyleq 17.07.2010, 09:43:03 |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Cytat Nie rozumiem sensu forum jeśli nikt nie chce pomagać w normalny spozób Pomagać to nie znaczy dać gotowca.I wbij to sobie do głowy. Forum ma na celu naprowadzenie na rozwiązanie, pomoc w dojściu do niego. Jeśli ktoś szuka gotowych rozwiązań niech zbiera kasę i daje zlecenia. Dano Ci podpowiedź dla fgets, choć kompletnie nikt nie wiedział jakim sposobem pobierasz linie z pliku, bo nie raczyłeś tego w temacie powiedzieć, a jest kilka sposobów. Skoro z Twojej strony brakło pewnych danych to czemu z naszej strony oczekiwałeś dokładniejszej informacji? Tylko +/- można było wnioskować, że zrobiłeś JAKIŚ tam bufor danych, który numerujesz. Szklane kule się niestety nam potłukły wszystkim. Inna sprawa, że ani jedna wypowiedź w temacie nie jest "obraźliwa" poza "cmoknij mnie w d." w Twoim poście. Zwrócenie uwagi na braki w znajomości funkcji i wskazanie konkretne w jakim dziale (funkcje plikowe) dalekie jest od ubliżania. Jeśli nie potrafisz przyjąć do siebie uwag, nie nauczysz się wiele, bo każdą radę nie będącą gotowcem przyjmiesz jako atak na Ciebie. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przerobiłem pętle, program już działa, przepraszam poniosło mnie.
Nie chciałem nikogo obrazić (IMG:style_emoticons/default/wstydnis.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:04 |