Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 15 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok NapísalOffline : 02.07.2009 16:52

Ahojte, moje akože xml má štruktúru
Kód:
<user><name>meno1</name><coordinates>19.6694147222,48.32968</coordinates></user>
<user><name>meno2</name><coordinates>17.1030725,48.1488916667</coordinates></user>


je so vlastne pre google maps
a teto môj súbor potom spracúvam ale ide o to že na zapisovanie, poprípade upravovanie používam niečo takéto
Kód:
// Generovanie na zápis
        $texttowrite = "<user><name>".diakritika($username)."</name><coordinates>$dlzka,$sirka</coordinates></user>\n";

        // Otvorenie suboru na zistenie typu operacie
        $handle = fopen("data.xml", 'r');
       // Precitanie suboru
       $datafile = fread($handle, filesize("data.xml"));
      fclose($handle);
   
        //overenie nicku
        if (strpos($datafile, "<name>".diakritika($username)."</name>")){
          $prepiss = fopen("data.xml", 'w');
          //nahradenie
            $textnew = preg_replace("(\<user><name>".diakritika($userdata["username"])."</name><coordinates>(.*?)\</coordinates></user>\n)is", $texttowrite, $datafile);
            // Zapis
          echo (fwrite($prepiss, $textnew) ? "<b>Údaje úspešne upravené</b><br><a href='index.php'>Pokračuj</a>" : "<b>Nastala chyba pri zápise dát<br><a href='/index.php'>Pokračuj</a></b>");
         fclose($prepiss);
        }
       else{
      $doplnenie = fopen("data.xml", 'a');
       // Zapis
        echo (fwrite($doplnenie, $texttowrite) ? "<b>Údaje úspešne zapísané</b><br><a href='/index.php'>Pokračuj</a>" : "<b>Nastala chyba pri zápise dát<br><a href='/index.php'>Pokračuj</a></b>");
        fclose($doplnenie);
      }
      unset($datafile);


a problém tu je v tom že občas, ale podla ma sa to stáva pri pridávanie nie upravovaní mi zmizne dosť veľká časť súboru
neviete prečo?

tuto som sa pýtal že ako to uzamknem ale myslím že to môj problém asi nevyrieši
http://www.pcforum.sk/len-1-moze-vykona ... 68592.html
lebo ono nezmizne tak že by chýbala čast tagu

štruktúra sa zachováva, preto si myslím že to bude spôsobené niečim ale neviem čím

Prosím za vaše názory a rady vopred ďakujem


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 0:30

ked pouzivas xml-ko, nechapem, preco s nim pracujes len ako s obycajnym retazcom... skus vyskusat tento skript (ak mas php5):
Kód:
<?php
$username = 'stenley';
$dlzka = 10;
$sirka = 20;
$coords = $dlzka.','.$sirka;

$file = 'data.xml';

$dom = new DOMDocument;
$dom->formatOutput = TRUE;
$dom->preserveWhiteSpace = FALSE;
$dom->load($file);

$xpath = new DOMXPath($dom);

$entries = $xpath->query('//user[name = "'.$username.'"]/coordinates');
$node = $entries->item(0);
if(is_object($node)) {
   $node->nodeValue = $coords;
} else {
   $node = $dom->getElementsByTagName('user')->item(0)->cloneNode(TRUE);
   
   if(is_object($node)) {
      $node->childNodes->item(0)->nodeValue = $username;
      $node->childNodes->item(1)->nodeValue = $coords;
      
      $dom->documentElement->appendChild($node);
   }
}

$dom->save($file);
?>







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 7:05

a mohol by si mi prosím vysvetliť ako to funguje?
lebo nezdá sa mi že to bude vyhovovať mojim potrebam
lebo v xml mam
<user><name>meno2</name><coordinates>17.1030725,48.1488916667</coordinates></user> ako jeden riadok


a ďalej ide o to že ak zadáš $username také ktoré už v xml je tak prepíše coordinates za nové a ak nieje tak pridá nový riadok


prepáš ale ja s xml moc robit neviem, ja ho viem len čítať nie vytvarať

Ďakujem


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 8:19

zdanie niekedy klame :) vobec nevadi, ze mas jednotlivych userov na jednom riadku - na formatovani nezalezi, ak pouzijes triedy na pracu s xml... problem by mohol nastat prave v tvojom povodnom kode, ked by sa formatovanie tvojho xml zmenilo - musel by si to zmenit aj v tvojom skripte...

tento skript funguje presne ako tvoj, teda ak zadas existujuci username, tak sa prepisu len jeho coords... ak dany username v xmlku neexistuje, tak sa prida novy... jediny problem, ktory neriesi je, ak je xmlko prazdne, tak nevie pridat noveho usera, ale to by sa dalo jednoducho dorobit...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 8:25

Citácia:
problem by mohol nastat prave v tvojom povodnom kode, ked by sa formatovanie tvojho xml zmenilo - musel by si to zmenit aj v tvojom skripte...


a co si myslel týmto?


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 8:29

ak by si mal formatovane xmlko, napr:
Kód:
<user>
    <name>meno1</name>
    <coordinates>19.6694147222,48.32968</coordinates>
  </user>
  <user>
    <name>meno2</name>
    <coordinates>17.1030725,48.1488916667</coordinates>
  </user>

tak by si to nemohol vyhladavat (preg_replace) ako jeden riadok... alebo sa mylim?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 8:44

no to xml je uložené nejak takto

Kód:
<?xml version="1.0" encoding="UTF-8" ?>
<data>
<user><name>user_1</name><coordinates>19.6694147222,48.32968</coordinates></user>
<user><name>user_2</name><coordinates>17.1030725,48.1488916667</coordinates></user>
</data>


s tým že to </data> nakonci som pridával pri čítaní, aby to pralo ako xml

ale keď to bude takto, tak to pôjde?


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 9:39

nechapem, co ci pojde?







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 9:42

ten tvoj skript


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 9:45

jasne, ved vyskusaj... ak by to nahodou neslo, co nepredpokladam (ak mas php5), tak daj vediet...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 10:25

vyzerá to že to funguje ako má, len mám ešte otázočku, ked to budem čítať používam niečo takéto
Kód:
$xml = simplexml_load_file('data.xml');
            foreach($xml as $value) {
                $datas[] = array(
                    "name"   => (string)$value->name,
                    "coordinates"  => (string)$value->coordinates,
                );
         }


malo by to fungovať

ale teraz ma zaujíma že ako získam coordinates z riadka kde viem len meno

vtedy som mal niečo takéto

Kód:
$handle = fopen("data.xml", 'r');
$datafile = fread($handle, filesize("data.xml"));
fclose($handle);

preg_match("(\<user><name>".diakritika($userdata["username"])."</name><coordinates>(.*?)\</coordinates></user>)", $datafile, $matches);


ako to spravím pomocou xml?

a posledná otázka, pri tom tvojom skripte sa nemôže stať že sa stratí časť súboru?


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 10:40

jednoducho, mas to tam aj naznacene:
Kód:
$coords = $xpath->query('//user[name = "'.$username.'"]/coordinates')->item(0);
if(is_object($coords)) {
   echo $coords->nodeValue;
}

prvy radok z tohto kodu sluzi na vratenie vsetkych <coordinates>, kde <name> obsahuje prave zadany $username... item(0) vracia prvy vysledok... nodeValue vracia text medzi <coodinates></coordinates>

ci sa bude niekedy stracat obsah suboru, tak to ti neviem povedat, treba vyskusat...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 10:57

ok zatial to ide

a posledná otázka ako zmažem ten jeden záznam keď poznáme len username?
:)


Offline

Správca fóra
Správca fóra
uprava suboru, xml

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 03.07.2009 11:04

Kód:
$entries = $xpath->query('//user[name = "'.$username.'"]');
$node = $entries->item(0);
if(is_object($node)) {
   $dom->documentElement->removeChild($node);
}

Viac info na http://sk.php.net/manual/en/class.domdocument.php







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
uprava suboru, xml

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149
Bydlisko: Houston, Texas
Príspevok Napísal autor témyOffline : 03.07.2009 11:07

fakt Ďakujem


Odpovedať na tému [ Príspevkov: 15 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. uprava xml

v HTML, XHTML, XML, CSS

4

764

01.07.2009 11:59

Romanko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Uprava XML pomocou XSD

v HTML, XHTML, XML, CSS

0

673

10.01.2022 19:35

natel Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kodovanie suboru - XML

v HTML, XHTML, XML, CSS

20

1825

19.06.2009 11:00

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. spracovanie externeho XML suboru

v PHP, ASP

2

747

15.10.2009 21:42

neopagan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Perl zapis XML do suboru

v Perl, Python, Ruby, CGI

4

675

09.03.2013 13:54

tangerine Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. autocomplete ajax z externého xml súboru

v JavaScript, VBScript, Ajax

2

394

14.08.2018 10:24

Pablo Montero Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypis zo suboru xml do html

v HTML, XHTML, XML, CSS

10

1284

19.06.2007 18:48

javo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. generátor suboru sitemap.xml pre obrazky

v Internetový marketing, SEO, reklama

3

510

09.11.2013 11:22

capricorn7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Alfa Kros, prevod súboru do xml

v Ostatné programy

0

675

24.07.2019 11:17

liveman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Uprava SWF suboru

v PHP, ASP

5

496

08.10.2013 16:30

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Úprava STL súboru

v Ostatné

4

173

19.04.2024 11:01

Restorator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Uprava binarneho suboru

v PHP, ASP

1

339

21.03.2016 17:39

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Import hesiel z XML suboru do Opery

v Sieťové a internetové programy

0

349

10.10.2015 14:09

Marsko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Uprava textovo-grafickeho suboru

v Grafické programy

4

353

12.08.2013 23:06

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos suboru z Excel xls formatu do xml

v Ostatné programy

1

397

14.08.2013 16:53

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Úprava súboru s licenciou LGPL

v Obchody, reklamácie a právo

0

381

24.03.2012 13:30

1daemon1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra