Változók filba írása php segítségével.
Sziasztok megint van egy kis problémám egy telepíthető weblapot akarok létrehozni és amikor a hozzá férési adatokat fileba akarom íratni akkor nem az történik amit szertnék. Kérlek segítsetek itt a file írásának utasítása ami egy php fileban található!ennek ez lesz az eredménye:én azt szeretném hogy így nézzen ki:
Válaszaitokat előre is köszönöm ha kell még valami ahoz hogy segíteni tudjatok akkor szóljatok. És még egyszer köszi mindent. :D
■ touch (dirname(__FILE__) . "settings.php");
$iras=('$install=1;'."\n".'$title='$title';'."\n".'$head='$head';'."\n".'$almenu=1;'."\n".
'$mysql_server='$hos't;'."\n".'$mysql_user='$felh';'."\n".'$mysql_pass='$pass';'."\n".
'$mysql_db='$db';'."\n".'$adminpass='$pass_secret';'."\n".'$admin='$admin';'."\n".
'$version='$newversion';'."\n".'$mail='$mail';'."\n");
$fp=@fopen(dirname(__FILE__) . 'settings.php', 'w');
fwrite ($fp, "<?php\n" . $iras . "?" . ">");
fclose ($fp);
echo'kész';
<?php
$install=1;
$title=$title;
$head=$head;
$almenu=1;
$mysql_server=$host;
$mysql_user=$felh;
$mysql_pass=$pass;
$mysql_db=$db;
$adminpass=$pass_secret;
$admin=$admin;
$version=$newversion;
$mail=$mail;
?>
<?php
$install=1;
$title=beírt adat;
//ennek a mintájára az egész előbb mutatott rész
?>
Idézőjelek
var_export?
A var_export() függvénnyel egyszerűen ki tudsz exportálni változóértéket.
Én egy tömbbe tárolnám a változókat: $settings, vagy $GLOBALS['settings'] néven. A tömbös megoldással nagyon egyszerű lenne kiírni a beállításokat a fájlba:
(A záró PHP-tag nem kötelező, így elhagyjuk.)
Escape
Köszi
Szerializáció, vagy config fájl
serialize()
Én eddig szinte csak hátrányát láttam, nevezetesen, ha valamit keresni, vagy módosítani kellett benne, akkor nem volt egyszerű.
A nagyobb fájlméretet kivéve a var_dump() szerintem jobb megoldás volt, ráadásul sebességben is gyorsabb - mondjuk ezt még 4-es PHP-nél teszteltem.
Az INI, XML szintén: csak akkor jó, ha teljesen hozzá-nem-értő ember akarja konfigolni a rendszert, egyébként csak a beállító-fájl használatát bonyolítja a rendszer szemszögéből.
Ha rosszul látom, akkor homályosítson föl valaki, de eddig nekem ez volt a tapasztalatom. (Legalábbis a fájl-szinten történő beállításokat tekintve. A serialize() jó pl. akkor ha adatbázisban tárolsz, mivel akkor egy var_export()-kimenetet eval()-ozni kellene ami biztonsági problémákat vet föl, a serialize() meg egyszerűen lefut ugye a tárolt szövegen)