Skriva till en variabellista

PHP

2 svar · 304 visningar · startad av Jester

Medlem sedan sep. 200188 inlägg
Trådstart#1

Hej

Jag skulle behöva skriva till en *.php fil som innehåller konfigurationsvariabler för en sidan ex.

$basicFont="Verdana"
$basicStrl="10"
....

Jag har kollat runt lite på forumet och har skrotat iden med att använda en databas och en textfil eftersom båda behöver läsa in värdena varje gång sidan laddas. Det känns lite dumt då dessa variabler inte kommer att ändras så ofta.

Min fråga är således hur hittar jag önskad variablel att ändra i filen och hur uppdaterar jag värdet mellan " - tecknet?

Tanken är att variblerna kan ändras via ett formulär på en adminsida

Medlem sedan juni 20034 013 inlägg
#2

Börja med att öppna filen för läsning med fopen och läs in innehållet:

$innehall = array();
$fp = fopen("include-fil.php", "r");
while (!feof($fp))
{
  $rad = trim(fgets($fp, 256));
  $variabel = substr($rad, 1, strpos($rad, "=") - 1);
  $varde = substr($rad, strpos($rad, "=") + 2, strlen($rad) - strlen($variabel) - 4);
  $innehall[$variabel] = $varde;
}
fclose($fp);

Nu har vi innehållet i arrayen $innehall. Så här ser den ut i ditt fall:

$innehall['basicFont'] = "Verdana";
$innehall['basicStrl'] = "10";

Vill du ändra basicFont så sätter du bara $innehall['basicFont'] till ett annat värde.

När du är klar öppnar du filen på nytt, fast den här gången för att skriva till den, och så dumpar vi helt enkelt hela arrayen.

$fp = fopen("include-fil.php", "w");
foreach ($innehall as $variabel => $varde)
{
  fwrite($fp, '$' . $variabel . '="' . $varde . '"' . "\n");
}
fclose($fp);

Sådär nånting, lite snabbt hopkokat och otestat.

Medlem sedan sep. 200188 inlägg
#3

Många tack, skall prova så snart som möjligt

Följdfråga: Har det någon betydelse om jag utformar variabelfilen som en array? Blir det lättare att läsa in filen eller spelar det ingen roll??

306 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
158 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
156 ms — ändringar (db)