Autor | Zpráva | ||
---|---|---|---|
XYZ Profil * |
#1 · Zasláno: 18. 11. 2011, 18:04:04
Ahoj,
potřeboval bych od vás menší radu. V jednom skriptu uložím 1 do define a v dalším skriptu mám podmínku, že když je tam 1, provede se nějaká funkce a potom se tam uloží 0. jenže v tom souboru mám více konstant a všechny se mi přepíší. Tady je kod Skript, který ukládá hodnoty do souboru constant.php: $myFile = "../constant.php"; $fh = fopen($myFile, 'w'); $text = file_get_contents("constant_format.tpl"); $text = preg_replace("'%SERVERNAME%'",$_POST['adr'],$text); $text = preg_replace("'%SERVERUSER%'",$_POST['user'],$text); $text = preg_replace("'%SERVERPASS%'",$_POST['pass'],$text); $text = preg_replace("'%SERVERDB%'",$_POST['db'],$text); $text = preg_replace("'%PODMINKA%',"1",$text"); fwrite($fh, $text); A takhle vypadá kod, který se spustí, když je PODMINKA NA 1, dojde k jejímu vynulování, ale ještě předtím se spustí funkce, které s tímto problémem nemají nic společného: $myFile = "constant.php"; $fh = fopen($myFile, 'w'); $text = file_get_contents("constant_format.tpl"); $text = preg_replace("'%PODMINKA%'","0",$text); fwrite($fh, $text); V souboru constant.php se sice hodnota změní na 0, ale i všechno ostatní se přepíše: define("SERVER_NAME","%SERVERNAME%"); define("SERVER_USER","%SERVERUSER%"); define("SERVER_PASS","%SERVERPASS%"); define("SERVER_DB","%SERVERDB%"); define("PODMINKA","0"); Ještě tam je soubor constant_format.php: define("SERVER_NAME","%SERVERNAME%"); define("SERVER_USER","%SERVERUSER%"); define("SERVER_PASS","%SERVERPASS%"); define("SERVER_DB","%SERVERDB%"); define("PODMINKA","%PODMINKA%"); Sice bych mohl u toho kde nuluju PODMINKU dát zase že chci uložit všechno, ale přijde mi to zbytečné, neexistuje něco co by k tomu co mám jenom přidalo hodnotu? |
||
Mastodont Profil |
#2 · Zasláno: 18. 11. 2011, 19:55:17
Moc to nechápu, ale zřejmě ti vadí, že si přepisuješ, co máš v souboru. Jestli chceš do souboru přidat další data, tak nejjednodušší je file_put_contents a jako třetí parametr dát FILE_APPEND
|
||
XYZ Profil * |
#3 · Zasláno: 19. 11. 2011, 10:53:07
Přesně tak, chci přepsat jednu hodnotu, ale ty ostatní se také změní. jak to bude vypadat s tím file_put_contents?
Chci změnit tuto část: $myFile = "constant.php"; $fh = fopen($myFile, 'w'); $text = file_get_contents("constant_format.tpl"); $text = preg_replace("'%PODMINKA%'","0",$text); fwrite($fh, $text); Dík |
||
Časová prodleva: 12 let
|
0