Save/Load/Write naar .txt file dmv form
Je kunt ook XML bestanden generen met PHP en die kan je dan weer makkelijk gebruiken in Flash. Ik zou voor XML gaan i.p.v. tekst omdat er in XML tenminste nog structuur zit.
Rick schreef op 07.11.2008 17:29:
Tell me more...
Met het oog op de toekomst is het een beetje de bedoeling dat een flashbestand de text leest uit het .txt bestand en dat de gebuiker dus simpel online de tekst kunnen plaatsen en deze dan in de flash komt (dit geldt dan voor 4 vensters in de flash)..
PHP Newbie schreef op 07.11.2008 17:18:
Ik denk dat je beter met een database kunt gaan werken. Die is bedoeld voor dit soort taken.
Tell me more...
Met het oog op de toekomst is het een beetje de bedoeling dat een flashbestand de text leest uit het .txt bestand en dat de gebuiker dus simpel online de tekst kunnen plaatsen en deze dan in de flash komt (dit geldt dan voor 4 vensters in de flash)..
Dan zet je er gewoon een database achter. Dan kun je gewoon per user de gegevens opslaan. Op je huidige manier zou je dit doen in Flash:
lees bestand "tekstbestanden/eenuser.txt" uit
Wanneer je er een database achtergooit krijg je:
lees bestand "teksten.php?user=eenuser" uit
Met een database is het veel gemakkelijk teksten toe voegen/bewerken/verwijderen, (in)actief maken, titels toevoegen, enz.
In navolging daarvan heb ik nu onderstaande script, er gebeurt alleen niets, wat is hier de fout?
Mijn .XML bestand:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?xml version="1.0" encoding="iso-8859-1" ?>
<articles>
<item>
<body>Dit is een testzin om alles naar behoren te laten functioneren</body>
</item>
</articles>
<articles>
<item>
<body>Dit is een testzin om alles naar behoren te laten functioneren</body>
</item>
</articles>
Mijn .php bestand:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<?php
//laden
$dom = new DomDocument();
$dom->load("articles.xml");
//tag body opvragen
$body = $dom->getElementsByTagName("body");
foreach($body as $node) {
print $node->textContent . " ";
}
//opslaan
$item = $dom->createElement("item");
$body = $dom->createElement("body");
$text = $dom->createTextNode("XML in PHP5");
$body->appendChild($text);
$item->appendChild($body);
$dom->documentElement->appendChild($item);
print $dom->saveXML("articles.xml");
?>
<body>
<?php
echo "$node"
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<?php
//laden
$dom = new DomDocument();
$dom->load("articles.xml");
//tag body opvragen
$body = $dom->getElementsByTagName("body");
foreach($body as $node) {
print $node->textContent . " ";
}
//opslaan
$item = $dom->createElement("item");
$body = $dom->createElement("body");
$text = $dom->createTextNode("XML in PHP5");
$body->appendChild($text);
$item->appendChild($body);
$dom->documentElement->appendChild($item);
print $dom->saveXML("articles.xml");
?>
<body>
<?php
echo "$node"
?>
</body>
</html>
Ik heb al geprobeerd om de rechten aan te passen, maar bij 777 heb ik geen verschil.
Gewijzigd op 01/01/1970 01:00:00 door Rick de Graaf
Krijg je nog errors?
PHP Newbie schreef op 10.11.2008 14:24:
Krijg je nog errors?
Helemaal niets
Gewijzigd op 01/01/1970 01:00:00 door Rick de Graaf
Code (php)
1
2
3
2
3
Warning: domdocument() expects at least 1 parameter, 0 given in /home/vhosts/chaosbydesign.nl/httpdocs/server/test.php on line 13
Fatal error: Call to undefined method: domdocument->load() in /home/vhosts/chaosbydesign.nl/httpdocs/server/test.php on line 14
Fatal error: Call to undefined method: domdocument->load() in /home/vhosts/chaosbydesign.nl/httpdocs/server/test.php on line 14
Ik moet eerlijk zeggen, dat ik het niet snap.... wat is de fatal error? die methode klopt toch?
Ik heb meerdere dingen geprobeerd, maar welke 'variant' van de DOMdocument ik ook gebruik, geen enkele werkt.
---
EDIT: Sowieso bedankt voor alle reacties/tips e.d., heeft me zeker goed geholpen!
Omdat ik er niet uit kom waarom het allemaal zo moeilijk moet met .XML en omdat ik met tijdstekort zit heb ik er voor gekozen om het toch weg te schrijven in een .txt bestand.
Mijn code ziet er als volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
//Error display
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
// ik geef het liefst eerst een variabele aan waarin het bestand staat:
$file = "txt_gr.txt";
// open het bestand met 'r' (read)
$fopen = fopen($file, "r");
// haal de tekst eruit
$data = fgets($fopen, 4096);
// sluit het bestand weer af
fclose($fopen);
//Ophalen van de waarde uit het form
$txt_gr = $_POST['txt'];
//Opslaan van de inhoud van het form
$fp = fopen("txt_gr.txt","w");
fputs($fp, "$txt_gr");
fclose($fp);
?>
<body>
<form action="./varphptxt.php" method="post">
Tekst :
<textarea name="txt" cols="50" rows="10"><?php print($data)?></textarea>
<br />
<input type="submit" name="submit" value="Plaats tekst" />
</form>
De door u geplaatste tekst:
<?php
print($txt_gr);
?>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<?php
//Error display
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
// ik geef het liefst eerst een variabele aan waarin het bestand staat:
$file = "txt_gr.txt";
// open het bestand met 'r' (read)
$fopen = fopen($file, "r");
// haal de tekst eruit
$data = fgets($fopen, 4096);
// sluit het bestand weer af
fclose($fopen);
//Ophalen van de waarde uit het form
$txt_gr = $_POST['txt'];
//Opslaan van de inhoud van het form
$fp = fopen("txt_gr.txt","w");
fputs($fp, "$txt_gr");
fclose($fp);
?>
<body>
<form action="./varphptxt.php" method="post">
Tekst :
<textarea name="txt" cols="50" rows="10"><?php print($data)?></textarea>
<br />
<input type="submit" name="submit" value="Plaats tekst" />
</form>
De door u geplaatste tekst:
<?php
print($txt_gr);
?>
</body>
</html>
Zijn er nog punten waarop het script niet voldoet?
Gewijzigd op 01/01/1970 01:00:00 door Rick de Graaf