oh.. jadi seperti itu, berarti file gammurc adalah file dengan struktur ini file. Jadi perlu dibaca dengan fungsi
parse_ini_file.
<?php
//fungsi untuk menulis ini file
function write_ini_file($assoc_arr, $path, $has_sections=FALSE) {
$content = "";
if ($has_sections) {
foreach ($assoc_arr as $key=>$elem) {
$content .= "[".$key."]\n";
foreach ($elem as $key2=>$elem2) {
if(is_array($elem2))
{
for($i=0;$i<count($elem2);$i++)
{
$content .= $key2."[] = \"".$elem2[$i]."\"\n";
}
}
else if($elem2=="") $content .= $key2." = \n";
else $content .= $key2." = \"".$elem2."\"\n";
}
}
}
else {
foreach ($assoc_arr as $key=>$elem) {
if(is_array($elem))
{
for($i=0;$i<count($elem);$i++)
{
$content .= $key2."[] = \"".$elem[$i]."\"\n";
}
}
else if($elem=="") $content .= $key2." = \n";
else $content .= $key2." = \"".$elem."\"\n";
}
}
if (!$handle = fopen($path, 'w')) {
return false;
}
if (!fwrite($handle, $content)) {
return false;
}
fclose($handle);
return true;
}
$nama = 'gammurc';
if(!file_exists($nama)){
$content = array(
'gammu' => array(
'port' => 'com1:', //dari input text
'connection' => 'at115200' //ambil dari input text
)
);
write_ini_file($content, $nama, true);
}else{
$content = parse_ini_file($name, true); //hasilnya berupa array
end($content); // set pointer array ke element terakhir
$key = key($content); //cari key element terakhir
//gunakan regex untuk menenukan angka terakhir, misal gammu1 => 1
$angka = (int) preg_replace('/^gammu(\d+)$/', '$1', $key);
$newKey = 'gammu'.($angka+1);
$content[$newKey] = array(
'port' => 'com1:',//dari input text
'connection' => 'at115200' //ambil dari input text
);
write_ini_file($content, $nama, true);
}