webForumDet fria alternativet

Skriva till en variabellista

PHP

2 svar · 291 visningar · startad av Jester

Medlem sedan sep. 200188 inlägg
Frågan#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??

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)