Ik begin met een nieuwe site en gebruik een "config.php" file om variabelen op te slaan.
deze zien er zo uit:
$blabla = "";
en staan allemaal netjes op een rij voor de overzicht
Nu edit ik deze via een texteditor op mijn computer en upload ik deze om wijzigingen door te voeren.
Maar dat wil ik graag via de webbrowser kunnen doen, zeg maar via een form deze file updaten en bekijken.
hoe pak ik dat aan? zijn er voorbeelden? ik heb alleen een beetje kennis van php.
Dit gebruik ik ervoor:
[php]
<?php
$msg = "";
$strCfgFile = "../../config.inc";
if(!file_exists($strCfgFile)){
die("config.inc kan niet gevonden worden.\n config.inc hoort in dezelfde directorie te staan als index.php, de hoofddirectorie dus.");
}
function ReplaceConfValue($strCfgFile,$strCfgVar,$strCfgVal){
$strOldContent = file ($strCfgFile);
$strNewContent = "";
while (list ($intLineNum, $strLine) = each ($strOldContent))
{
if(eregi("^\\$".$strCfgVar."( |\t)*=",$strLine)) // show any line beginning with a $
{
$strLineParts=explode("=",$strLine);
// we should determine type of value here! (BOOL, INT or String)
if("$".$strCfgVar == trim($strLineParts[0]))
{
$strLineParts[1] = "\t\"".$strCfgVal."\"";
$strLine = implode("=",$strLineParts).";\r\n";
}
}
$strNewContent .= $strLine;
$fp = fopen($strCfgFile."_new", "w");
fputs($fp,$strNewContent);
fclose($fp);
}
$GLOBALS['msg'] .="<p>De waarde voor <b>$$strCfgVar</b> is bijgewerkt.</b></p>";
if(!rename($strCfgFile,$strCfgFile.".bak")) $GLOBALS['msg'] .="<p>ERROR: kan het bestand niet hernoemen!</p>";
if(!rename($strCfgFile."_new",$strCfgFile)) $GLOBALS['msg'] .="<p>ERROR: kan het bestand niet kopieren</p>";
}
//als nieuwe waarde niet oude waarde is, dan geef naam nieuwe waarde;
//if($_POST['skin_name'] != $skin_name){ReplaceConfValue($strCfgFile,'skin_name',$_POST['skin_name']);}
?>
[/php]
?
Onbekende gebruiker
12-02-2005 11:54
bedankt!
Ik heb het bekeken, maar heb niet veel kennis hiervan, maar leer er wel van.
hoe kan ik het laten werken dmv een Form?
<?php
include($_SERVER['DOCUMENT_ROOT']."/config.inc");//instellingen inloaden om te vergelijken
if($_POST['setchanges']){
if($_POST['TPL'] != $TPL){ReplaceConfValue($strCfgFile,'TPL',$_POST['TPL']);}
}
?>
<form method=post>
<input type="hidden" name="setchanges" value="true"> <!-- om te zien dat er iets voor de config wordt gesubmit-->
<input type="text" name="TPL"> <!-- name moet congrueren met die van daarboven -->
<input type="submit">
</form>
PS: ik moet erbij zeggen dat ik het niet zelf heb gemaakt, ik heb het ooit ergens gevonden via google, (mag het vrij gebruiken van diegene die het had bedacht) en heb het een beetje verandert, in funtie gezet, en erin gezet dat hij eerst controleerd of er iets is verandert voordat hij ook daatwerkelijk de data in het bestand verandert.
?
Onbekende gebruiker
12-02-2005 12:30
sweet!!
compleet ook nog, met de variabele te echoen kan ik de oude resultaten ook nog 's bekijken.