Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Edycja pliku zewnętrznego z danym, przy użyciu PHP.

Night Ullr 10 Mar 2017 18:18 507 6
  • #1 10 Mar 2017 18:18
    Night Ullr
    Poziom 2  

    Mam 2 pliki. index.html z formularzem i edycja.php. Chcę napisać skrypt, który będzie wprowadzał dane z formularza (plik index). Problem polega na tym, że w trzecim pliku (aktualnie plik.xml) mam ciąg znaków, który chcę edytować, ale nie mogę wczytać fragmentów tego ciągu. Funkcją "fread" wczytuję od początku pliku podaną długość, a chcę wczytywać tylko wybrane fragmenty. Szukałem w angielskich manualach, kombinowałem, ale nic nie wychodzi. Pomożecie?

    0 6
  • #2 10 Mar 2017 18:33
    _jta_
    Specjalista elektronik

    A umiesz określić, jakie fragmenty chcesz wczytać? Jest funkcja fseek().

    0
  • #3 10 Mar 2017 20:35
    Night Ullr
    Poziom 2  

    Te pliki stworzyłem tylko lokalnie by pierw zrozumieć jak się edytuje pliki, by móc później umieścić gotowy skrypt na stronie. Chcę wyciągnąć dane z fragmentu skryptu javy odpowiadający za datę (te liczby w pliku xml). Następnie zamienić je odpowiednio danymi z formularza. Jeśli pomożecie jakoś wyciągnąć te wybrane dane ze skryptu, to dalej powinienem dać radę sam. W załączniku dołączam te 3 pliki. Przepraszam za błąd powyżej, index też zapisałem w php.

    0
  • #4 10 Mar 2017 23:30
    _jta_
    Specjalista elektronik

    A znasz offset tego fragmentu? Jeśli nie, to bez czytania całości pewnie go nie znajdziesz.

    Poza tym przy zmianie danych nie należy zmieniać ich długości - jeśli nie piszesz na nowo pliku do końca.

    Osobna sprawa: czy pisanie nie skróci pliku do miejsca, w którym się zakończyło? Od czego to zależy?

    0
  • #5 12 Mar 2017 08:56
    JacekCz
    Poziom 35  

    1. Java nie jest skryptem

    2. W Twoim archiwum plik xml nie jest plikiem xml (sam siebie okłamujesz). Gdyby był, jedynym rozsądnym sposobem jest sparsowanie do drzewa DOM, aktualizacja co trzeba, i zapisanie całego DOM do pliku.

    3. sam sobie wrzucasz pod nogi kłody mieszając dane i kod. Plik danych ... to jak sama nazwa wskazuje czyste dane. Kod, w tym również skrypt (JavaScript czy inny), jedyne rozsądne jest traktować jako "czarną skrzynkę" tzn interesować się efektami jego wykonania, niezależnie od wewnętrznej realizacji.
    Przykład: co gdy w konsekwencji jakiejś optymalizacji, czy rozwoju poprawisz mniej istotny błąd (nie zmieniający głównych założeń), położenie znaków w kodzie się zmieni (albo w ogóle znikną, choćby przez jakiś zabieg formalny (zmiana spsoobu kodowania znaków specjalnych) staną się nierozpoznawalne poprzednio używaną metodą.
    Gdyby plik XML rzeczywiście był XML, to by była ta koncepcja

    Nie jest dla mnie oczywiste, czego chcesz. Byc może chcesz jak piszę (otrzymać efekt wykonania skryptu???)

    4. Zasadą portali pomocowych jest zamieszczanie kodu w portalu, wprost, a nie przez linki, downloady itd... wielu ludzi to przegląda, niech potencjalny pomagający ma szybką wiedzę, czy jest w stanie pomóc. Jakby nie niedzielny ranek, nie otworzyłbym twojego archiwum.

    0
  • #6 12 Mar 2017 11:38
    _jta_
    Specjalista elektronik

    A ja dodam: jeśli potrzeba zapamiętywać tylko datę, to można ustawiać i odczytywać datę modyfikacji pliku, nie trzeba zmieniać jego zawartości...

    0
  • #7 12 Mar 2017 18:37
    JacekCz
    Poziom 35  

    _jta_ napisał:
    A ja dodam: jeśli potrzeba zapamiętywać tylko datę, to można ustawiać i odczytywać datę modyfikacji pliku, nie trzeba zmieniać jego zawartości...


    Rozumiem, jest to do pewnego stopnia możliwe. Nie popieram, ma liczne wady.

    0