Config bestand aanmaken met fwrite
Ik ga een formulier maken met de info die je kunt configureren in config.php ... maar hoe kun je nou de info die je verzamelt hebt in config.php krijgen ? kan iemand een simpel voorbeeld script maken. Als je alleen uitlegt hoe je een bestand kan wegschrijven is het ook goed :D
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
//setup.php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($link = @mysql_connect($_POST['host'],$_POST['database_username'],$_POST['database_password'])){
echo 'Database conectie gemaakt<br />';
if(@mysql_select_db($_POST['database_name'],$link)){
echo 'Database bestaat<br />';
if(!empty($_POST['cuser']) && !empty($_POST['cpass'])&& !empty($_POST['name'])){
$_POST['cpass'] = md5($_POST['cpass']);
//create config file
$config = "<?
\$host = '".$_POST['host']."';
\$database_name = '".$_POST['database_name']."';
\$database_username = '".$_POST['database_username']."';
\$database_password = '".$_POST['database_password']."';
\$prefix = '".$_POST['prefix']."';
\$layout = '".$_POST['layout']."';
\$homepage = '".$_POST['homepage']."';
\$homedir = '".$_POST['homedir']."';
\$sepfront = '".$_POST['sepfront']."';
\$sepend = '".$_POST['sepend']."';
\$timezone = '".$_POST['timezone']."';
\$dateformat = '".$_POST['dateformat']."';
\$dateformat2 = '".$_POST['dateformat2']."';
\$iso = '".$_POST['iso']."';
\$number = ".$_POST['number'].";
\$pcol = ".$_POST['pcol'].";
\$prow = ".$_POST['prow'].";
\$photoh = ".$_POST['photoh'].";
\$photow = ".$_POST['photow'].";
\$thumbh = ".$_POST['thumbh'].";
\$thumbw = ".$_POST['thumbw'].";
\$cuser = '".$_POST['cuser']."';
\$cpass = '".$_POST['cpass']."';
\$name = '".$_POST['name']."';
\$mail = '".$_POST['mail']."';
\$lang = '".$_POST['lang']."';
\$langstart = '".$_POST['langstart']."';
\$langsubject = '".$_POST['langsubject']."';
\$langspace = '".$_POST['langspace']."';
\$langname = '".$_POST['langname']."';
\$langdate = '".$_POST['langdate']."';
\$langsubmit = '".$_POST['langsubmit']."';
\$langcomment = '".$_POST['langcomment']."';
\$langemail = '".$_POST['langemail']."';
\$prel = '".$_POST['prel']."';
\$nextl = '".$_POST['nextl']."';
\$errordoc = '".$_POST['errordoc']."';
\$fault = array();
\$fault['1'] = '".$_POST['fault1']."';
\$fault['2'] = '".$_POST['fault2']."';
\$fault['3'] = '".$_POST['fault3']."';
\$mail_user_id = '".$_POST['mail_user_id']."';
\$mail_password = '".$_POST['mail_password']."';
\$mail_host = '".$_POST['mail_host']."';
\$index = '".$_POST['index']."';
?>
";
$handle = fopen('config.php','w');
if(fwrite($handle,$config)){
echo 'config.php aangemaakt<br />';
include('database.php');
$db = new database;
$filename = "admin/mysql.txt";
$handle = fopen($filename, "r");
$sql = fread($handle, filesize($filename));
$sql = preg_replace("[\[PREFIX\]]", $_POST['prefix'], $sql);
fclose($handle);
$sql = explode(';',$sql);
$num = 0;
while($sql[$num]!=""){
$db->insert_data($sql[$num].";");
$num ++;
}
echo 'Datbase is aangemaakt<br />
Om de laatste stap van de instalatie (Configuratie van de menu\'s en teksten in de mysql database dient u in te loggen op de adminpannel.<br />
Dit kan <a href="'.$_POST['homepage'].'admin/index.php">hier</a>. Voor dat u de laatste stap doorloopt is het van belang dat u setup.php verwijderd en config.php chmod naar 644 met uw ftp client.';
}else{
echo 'Er is een fout op getreden';
}
}else{
echo 'Wachtwoord of username niet ingesteld';
}
}else{
echo 'Database is onjuist<br />';
}
}else{
echo 'Database usernaam, Database host of database passwoord is onjuist';
}
}else{
if(is_writable('images/upload') && is_writable('images/photo')&& is_writable('images/thumb')&& is_writable('logs/')){
@chmod('config.php',0666);
if(is_writable('config.php')){
?>
//setup.php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($link = @mysql_connect($_POST['host'],$_POST['database_username'],$_POST['database_password'])){
echo 'Database conectie gemaakt<br />';
if(@mysql_select_db($_POST['database_name'],$link)){
echo 'Database bestaat<br />';
if(!empty($_POST['cuser']) && !empty($_POST['cpass'])&& !empty($_POST['name'])){
$_POST['cpass'] = md5($_POST['cpass']);
//create config file
$config = "<?
\$host = '".$_POST['host']."';
\$database_name = '".$_POST['database_name']."';
\$database_username = '".$_POST['database_username']."';
\$database_password = '".$_POST['database_password']."';
\$prefix = '".$_POST['prefix']."';
\$layout = '".$_POST['layout']."';
\$homepage = '".$_POST['homepage']."';
\$homedir = '".$_POST['homedir']."';
\$sepfront = '".$_POST['sepfront']."';
\$sepend = '".$_POST['sepend']."';
\$timezone = '".$_POST['timezone']."';
\$dateformat = '".$_POST['dateformat']."';
\$dateformat2 = '".$_POST['dateformat2']."';
\$iso = '".$_POST['iso']."';
\$number = ".$_POST['number'].";
\$pcol = ".$_POST['pcol'].";
\$prow = ".$_POST['prow'].";
\$photoh = ".$_POST['photoh'].";
\$photow = ".$_POST['photow'].";
\$thumbh = ".$_POST['thumbh'].";
\$thumbw = ".$_POST['thumbw'].";
\$cuser = '".$_POST['cuser']."';
\$cpass = '".$_POST['cpass']."';
\$name = '".$_POST['name']."';
\$mail = '".$_POST['mail']."';
\$lang = '".$_POST['lang']."';
\$langstart = '".$_POST['langstart']."';
\$langsubject = '".$_POST['langsubject']."';
\$langspace = '".$_POST['langspace']."';
\$langname = '".$_POST['langname']."';
\$langdate = '".$_POST['langdate']."';
\$langsubmit = '".$_POST['langsubmit']."';
\$langcomment = '".$_POST['langcomment']."';
\$langemail = '".$_POST['langemail']."';
\$prel = '".$_POST['prel']."';
\$nextl = '".$_POST['nextl']."';
\$errordoc = '".$_POST['errordoc']."';
\$fault = array();
\$fault['1'] = '".$_POST['fault1']."';
\$fault['2'] = '".$_POST['fault2']."';
\$fault['3'] = '".$_POST['fault3']."';
\$mail_user_id = '".$_POST['mail_user_id']."';
\$mail_password = '".$_POST['mail_password']."';
\$mail_host = '".$_POST['mail_host']."';
\$index = '".$_POST['index']."';
?>
";
$handle = fopen('config.php','w');
if(fwrite($handle,$config)){
echo 'config.php aangemaakt<br />';
include('database.php');
$db = new database;
$filename = "admin/mysql.txt";
$handle = fopen($filename, "r");
$sql = fread($handle, filesize($filename));
$sql = preg_replace("[\[PREFIX\]]", $_POST['prefix'], $sql);
fclose($handle);
$sql = explode(';',$sql);
$num = 0;
while($sql[$num]!=""){
$db->insert_data($sql[$num].";");
$num ++;
}
echo 'Datbase is aangemaakt<br />
Om de laatste stap van de instalatie (Configuratie van de menu\'s en teksten in de mysql database dient u in te loggen op de adminpannel.<br />
Dit kan <a href="'.$_POST['homepage'].'admin/index.php">hier</a>. Voor dat u de laatste stap doorloopt is het van belang dat u setup.php verwijderd en config.php chmod naar 644 met uw ftp client.';
}else{
echo 'Er is een fout op getreden';
}
}else{
echo 'Wachtwoord of username niet ingesteld';
}
}else{
echo 'Database is onjuist<br />';
}
}else{
echo 'Database usernaam, Database host of database passwoord is onjuist';
}
}else{
if(is_writable('images/upload') && is_writable('images/photo')&& is_writable('images/thumb')&& is_writable('logs/')){
@chmod('config.php',0666);
if(is_writable('config.php')){
?>
<form action='setup.php' method='post'>
<table>
<tr><td colspan='3'>Mysql Gegevens</td></tr>
<tr><td>Mysql host</td><td><input type='text' name='host' value='localhost'></td><td>Mysql server. Standaard localhost maar dat kan anders zijn!</td></tr>
<tr><td>Mysql databasenaam</td><td><input type='text' name='database_name' value=''></td><td>Mysql databasenaam</td></tr>
<tr><td>Mysql gebruikersnaam</td><td><input type='text' name='database_username' value=''></td><td>Mysql databse gebruikersnaam</td></tr>
<tr><td>Mysql wachtwoord</td><td><input type='text' name='database_password' value=''></td><td>Mysql wachtwoord</td></tr>
<tr><td>Mysql prefix</td><td><input type='text' name='prefix' value='weblog_'></td><td>Een prefix maakt het mogelijk om verschillende versies van dit script in 1 database te draaien. Wanneer u 2 script wilt draaien dient u dit aan te passen</td></tr>
<tr><td colspan='3'>Website/Layout eigenschappen</td></tr>
<tr><td>Layout</td><td><input type='text' name='layout' value='layout.html'></td><td>De layout</td></tr>
<tr><td>Homepage</td><td><input type='text' name='homepage' value='http://'></td><td>De link die naar de script toe leid (bijv: http://www.domein.nl/weblog/) (Eindigen met een slash)</td></tr>
<tr><td>Homedir</td><td><input type='text' name='homedir' value='/'></td><td>De map die leid naar de directorie van de script: http://www.schiopbreukeling.nl/script/weblog/ is de map link die lied naar mijn script dan is /script/weblog/ de 'home dir'</td></tr>
<tr><td>Menu seperator (Voor)</td><td><input type='text' name='sepfront' value=''></td><td>Schiedt de links met een scheidings teken. Kan leeg gehouden worden.</td></tr>
<tr><td>Menu seperator (Achter)</td><td><input type='text' name='sepend' value=''></td><td>Schiedt de links met een scheidings teken. Kan leeg gehouden worden.</td></tr>
<tr><td colspan='3'>Tijd gevens</td></tr>
<tr><td>Tijdszone</td><td><input type='text' name='timezone' value='Europe/Amsterdam'></td><td>Tijdszone</td></tr>
<tr><td>Tijdformaat website</td><td><input type='text' name='dateformat' value='%d %B %Y om %H:%M'></td><td>Tijd formaat op de website Meer informatie: <a href='http://www.php.net/strftime'>strftime</a></td></tr>
<tr><td>Tijdformaat admin</td><td><input type='text' name='dateformat2' value='d-m-Y H:i'></td><td>Tijde formaat in de admin Meer informatie: <a href='http://www.php.net/date'>date</a></td></tr>
<tr><td colspan='3'><input type='hidden' name='iso' value='Y-m-d H:i:s'>Website variablen</td></tr>
<tr><td>Aantal logs</td><td><input type='text' name='number' value='5'></td><td>Aantal logs op 1 pagina</td></tr>
<tr><td>Aantal kolomen</td><td><input type='text' name='pcol' value='3'></td><td>Aantal kollomen op de fotopagina</td></tr>
<tr><td>Aantal Rijen</td><td><input type='text' name='prow' value='3'></td><td>Aantal rijen op de fotopagina</td></tr>
<tr><td>Hoogte foto</td><td><input type='text' name='photoh' value='348'></td><td>Hoogte van de foto op de foto pagina</td></tr>
<tr><td>Breedte foto</td><td><input type='text' name='photow' value='512'></td><td>Breedte van de foto op de foto pagina</td></tr>
<tr><td>Hoogte thumb</td><td><input type='text' name='thumbh' value='100'></td><td>Hoogte van de thumb op de foto pagina</td></tr>
<tr><td>Breedte thumb</td><td><input type='text' name='thumbw' value='150'></td><td>Breedte van de thumb op de foto pagina</td></tr>
<tr><td colspan='3'>Gebruikser instelingen</td><tr>
<tr><td>Username</td><td><input type='text' name='cuser' value=''></td><td>Je gebruikers naam</td></tr>
<tr><td>Wachtwoord</td><td><input type='password' name='cpass' value=''></td><td>Je wachtwoord</td></tr>
<tr><td>Naam</td><td><input type='text' name='name' value=''></td><td>Je naam zoals op de website hoort te komen.</td></tr>
<tr><td>Email</td><td><input type='text' name='mail' value=''></td><td>Je email adress (Komt nergens op te staan)</td></tr>
<tr><td colspan='3'>Taal settings</td></tr>
<tr><td>Taal</td><td><input type='text' name='lang' value='nl_NL'></td><td>Taal voor door php gegenereerde teksten (Meer info: <a href='http://www.php.net/setlocale'>Setlocale</a>)</td></tr>
<tr><td colspan='3'>Let op volgende benamingen kunnen vreemd overkomen!!!</td></tr>
<tr><td>Begin tekst</td><td><input type='text' name='langstart' value='Geplaast'></td><td>Tekst voor de naam</td></tr>
<tr><td>Onderwerp tekst</td><td><input type='text' name='langsubject' value='Onderwerp'></td><td>Tekst met je onderwerp</td></tr>
<tr><td>Tussenstukje</td><td><input type='text' name='langspace' value='op'></td><td>Tekst tussen naam en tijd</td></tr>
<tr><td colspan='3'>Instellingen voor Contact formulier/reactie systeem</td></tr>
<tr><td>Naam</td><td><input type='text' name='langname' value='Naam'></td><td></td></tr>
<tr><td>Datum</td><td><input type='text' name='langdate' value='Datum'></td><td></td></tr>
<tr><td>Email</td><td><input type='text' name='langemail' value='email'></td><td></td></tr>
<tr><td>Opmerking/medeling</td><td><input type='text' name='langcomment' value='Opmerking/medeling'></td><td></td></tr>
<tr><td>Verzendknop</td><td><input type='text' name='langsubmit' value='Verzenden'></td><td></td></tr>
<tr><td>Vorige link</td><td><input type='text' name='prel' value='Vorige pagina'></td><td></td></tr>
<tr><td>Volgende pagina</td><td><input type='text' name='nextl' value='Volgende pagina'></td><td></td></tr>
<tr><td>Error melding</td><td><input type='text' name='errordoc' value='Uw bent de volgende velden vergeten in te vullen. Vul ze alstublieft in.'></td><td></td></tr>
<tr><td>Naam vergeten</td><td><input type='text' name='fault1' value='U bent uw naam vergeten in te vullen.'></td><td></td></tr>
<tr><td>Email vergeten</td><td><input type='text' name='fault2' value='U bent uw email vergeten in te vullen.'></td><td></td></tr>
<tr><td>Opmerking/medeling vergeten</td><td><input type='text' name='fault3' value='U bent uw opmerking/medeling vergeten in te vullen.'></td><td></td></tr>
<tr><td colspan='3'>Mailserver settings (Alleen invullen bijgebruik updaten via email</td></tr>
<tr><td>Emailadress</td><td><input type='text' name='mail_user_id' value=''></td><td>Je emailadress die je gaat gebruiken voor de script. HET MOET EEN ANDERE ZIJN DAN JE PRIVE ADRESS!!</td></tr>
<tr><td>Wachtwoord</td><td><input type='text' name='mail_password' value=''></td><td>Wachtwoord van die mail adress</td></tr>
<tr><td>Mailserver</td><td><input type='text' name='mail_host' value='localhost'></td><td>Mailserver</td></tr>
<tr><td>Index</td><td><input type='text' name='index' value='false'></td><td>Include addcontent.php op de index pagina?</td></tr>
<tr><td></td><td colspans='2'><input type='submit' name='Instaleer'></td><tr>
</table>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Zo hebt ik het gedaan...