Toon posts:

[PHP] Varaible Updaten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een admin.php die pagina die include een config.php

In die admin.php wil ik $titel="titel van de site";

Veranderen in de config.php


Ik weet met fopen enz. kun je bestand openen enz.

Maar wat nou als ik echt elke variable wil aangeven wat het moet worden hoe bepaal ik die $variable die moet worden geupdate

Steeds als ik dingen probeer word de hele file schoon gemaakt en word het geen wat gesubmit is erin geplaatst

Wie kan mij helpen

  • Bas Jansen
  • Registratie: Juni 2000
  • Laatst online: 16-06 18:29
Misschien kun je beter al die gegevens in een tekstbestandje zetten en dat tekstbestandje in je config.php inlezen en zo de juiste waarden aan de juiste variabelen toewijzen.

Verwijderd

k heb 1 woord voor je:
MySQL ;)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Nou ik vind het een beetje zonde om elke pagina een query te maken naar mysql om instellingen op te vragen. Het is prettiger om die ff snel in een tekstbestandje te veranderen.

Verwijderd

ff snel :D
zullen we er van uit gaan dan dat tile sjit apparaat op line 5 staat ;)
je kan met die k*t array's werken jah:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$file = file("config.php"); //file openen in array's

$file[5] = (" misschien van php code met je titeltje whatever, let wel op de ////jes ;) "); //updaten van line 5

$lines = ("8"); //hoeveel lines zitten er in je config.php?

for ($i = 0; $i = $lines; $i++) {
$content = ($file[$i]); //maak de inhoud van de nieuwe txtfield aan.
}

$fo = fopen("config.php", "w+");
fwrite($fo, $content); //schijf de troep weg
fclose($fo);
?>

plopperdeplop, dit moet werken denk ik. check nog wel effe of er bugs of fouten in zitten ;)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Nou dat is wel een beetje rare code; niet efficient, rare constructie, niet flexibel en lelijk gecode (waarom sluit je $file niet ?)
Ik zou dit dan doen met een regexp, iets als
PHP:
1
2
3
4
5
<?
$file = join('', file("bestand.php"));
$file = preg_replace("/\$file[[:space:]]*?=[[:space:]]*?\\\"(.*?)\\\"/", "\$file=\"NIEUWE CONF\"", $file);
// .. en dan via fwrite wegschrijven
?>

oid, maar er zijn hier beter regexp experts :)

  • Pwigle
  • Registratie: December 2000
  • Laatst online: 09-09 17:53
Ik vind de oplossing van joosie anders heel goed..

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Tja wat opbouwende kritiek dan :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$file = file("config.php"); //file openen in array's

// waarom regel 5? mag er geen commentaar boven gezet worden later, mag men niet handmatig er iets in zetten?
$file[5] = (" misschien van php code met je titeltje whatever, let wel op de ////jes ;) "); //updaten van line 5

// geldt zelfde als bovenstaande -> $file is een array, probeer eens count($file)
$lines = ("8"); //hoeveel lines zitten er in je config.php?

// waarom handmatig (langzaam) gaan kopieeren? deze stap is overbodig
for ($i = 0; $i = $lines; $i++) {
$content = ($file[$i]); //maak de inhoud van de nieuwe txtfield aan.
}

$fo = fopen("config.php", "w+");
// dit kan je dus ook zo doen
// fwrite($fo, join('', $file));
fwrite($fo, $content); //schijf de troep weg
fclose($fo);
?>

Nogmaals, dit is niet om je af te zeiken hoor :) maar er zijn gewoon beter methoden om het te doen.

Verwijderd

Topicstarter
Maar allemaal leuk en aardig elkaars script verbeteren maar hoe moet het nu ?
Pagina: 1