html code exact overnemen en opslaan
Ik ben bezig om zelf een heel eenvoudig beheersysteempje te maken om via een beveiligde pagina html bestanden aan te kunnen passen.
Iemand moet namelijk een 100-tal html bestanden zelf kunnen aanpassen. Het gaat hierbij alleen om eenvoudige tekst aanpassingen.
Ik ben al zover dat ik een html bestand in een <textarea> kan inlezen, aanpassen en opslaan.
Alleen het probleem is dat het html bestand niet helemaal 100% correct is opgebouwd, dus soms wel een "-teken en soms niet. Bij het aanpassen van de html en het opslaan worden bepaalde teksten omgezet in bijvoorbeeld ' tekens, waarbij de site niet meer goed zichtbaar is.
Mijn vraag is nu, hoe krijg ik het voor elkaar om de html code in een bestand EXACT over te nemen en ook weer EXACT op te slaan.
De phpcode zoals ik die nu heb, staat hieronder:
$file = fopen ("../../$bestand", "r");
while(!feof($file))
{
$gegevens = fgetc($file);
}
echo "<textarea>";
echo "$gegevens";
echo "</textarea>";
fclose($file);
--
Ik had ook al zitten spelen met htmlspecialchars($gegevens) en met fgets , maar op de een of andere manier lukt mij dat niet.
Weten jullie een bepaald commando wat ik kan gebruiken of andere tips?
Je kunt een XML bestand op de volgende manier inladen, uitlezen en editen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
//Laadt het xml bestand in een simplexml object.
$xml = simplexml_load_file("bestand.xml");
//Zo toon je data uit het xml bestand:
echo $xml->rootTag[0]->nogEenTag->jouwTekstTag;
//Zo pas je data in het xml bestand aan:
$xml->rootTag[0]->nogEenTag->jouwTekstTag = "mijnString";
?>
//Laadt het xml bestand in een simplexml object.
$xml = simplexml_load_file("bestand.xml");
//Zo toon je data uit het xml bestand:
echo $xml->rootTag[0]->nogEenTag->jouwTekstTag;
//Zo pas je data in het xml bestand aan:
$xml->rootTag[0]->nogEenTag->jouwTekstTag = "mijnString";
?>
Gewijzigd op 01/01/1970 01:00:00 door graviton
Als ik die allemaal in een SQL database moet zetten of XML bestanden van moet maken, kost dat gigantisch veel tijd.
Ik had gehoopt dit op een hele eenvoudige manier te kunnen oplossen, maar dat wordt dus lastig zo te horen?
file_get_contents()?
Alleen bij het opslaan gaat er wat fout, dan komen er allemaal \-tekens in te staan.
De code die ik gebruik voor het opslaan is:
$file = fopen ("../../$bestand", "w+");
fwrite($file, $content);
fclose($file);
Is er een andere manier om het html bestand te overschrijven?
de backslashes zijn als in escapen of? want ik snap je neit helemaal geloof ik.
Origineel:
<marquee style="font-family: Verdana; font-size: 14 pt">
Na het aanpassen en opslaan wordt deze regel:
<marquee style=\"font-family: Verdana; font-size: 10 pt\">
Als ik deze nog een keer aanpas en opsla, wordt de regel:
<marquee style=\\\"font-family: Verdana; font-size: 14 pt\\\">
Dus voor ale " tekens wordt een \ geplaatst bij het overschrijven van het html bestand.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$bestand = stripslashes($bestand);
$file = fopen ("../../$bestand", "w+");
fwrite($file, $content);
fclose($file);
[/code]
$bestand = stripslashes($bestand);
$file = fopen ("../../$bestand", "w+");
fwrite($file, $content);
fclose($file);
[/code]
Zo te zien lijkt het te werken..... Super!!
No problem. Succes ermee verder ;)