用 parse_ini_file 读取文件到数组
删除或修改后用 write_ini_file 写回去,不过php并没有提供 write_ini_file 函数,需要自行开发
if(! function_exists('write_ini_file')):
function write_ini_file($array, $filename) {
$ok = "";
$s = "";
foreach($array as $k=>$v) {
if(is_array($v)) {
if($k != $ok) {
$s .= "\n[$k]\n";
$ok = $k;
}
$s .= write_ini_file($v,"");
}else {
if(! is_numeric($v))
$v = "\"$v\"";
$s .= "$k = $v\n";
}
}
if($filename == "")
return $s;
else {
$fp = fopen($filename,"w");
fwrite($fp,$s);
fclose($fp);
}
}
endif;
删除或修改后用 write_ini_file 写回去,不过php并没有提供 write_ini_file 函数,需要自行开发
if(! function_exists('write_ini_file')):
function write_ini_file($array, $filename) {
$ok = "";
$s = "";
foreach($array as $k=>$v) {
if(is_array($v)) {
if($k != $ok) {
$s .= "\n[$k]\n";
$ok = $k;
}
$s .= write_ini_file($v,"");
}else {
if(! is_numeric($v))
$v = "\"$v\"";
$s .= "$k = $v\n";
}
}
if($filename == "")
return $s;
else {
$fp = fopen($filename,"w");
fwrite($fp,$s);
fclose($fp);
}
}
endif;
(2)APACHE2.2
(3)PHP5 实现目标:对一些服务的配置文件进行修改保存,然后重新启动这个服务,使其生效。
举例: /etc/inetd.conf 就是inetd服务的配置文件,如典型的TELENET、FTP等服务。如果想找开它的FTP服务,就要把这个配置文件中的
#FTP stream tcp nowait root /usr/libexec/ftpd ftpd -l前面的#注释项去掉变成 FTP stream tcp nowait root /usr/libexec/ftpd ftpd -l 然后保存这个文件
执行inetd或者是ftpd
#inetd start
#kldload ftpd 之类的就可以完成配置任务。
当然,有时也会向其中加入自己特有的内容。如:
ftp stream tcp6 nowait .....之类的。 敬请各位大侠多多指点。 1。php要有权限修改inetd.conf 文件。
文件所属组和apache设置是否一样。默认都是 nobody吧
php是否安全模式运行,能否跨目录操作等。inetd.conf不会在网站目录下把
2。文件内容修改,就是读取后处理字符串,再保存。具体
$word=file('文件路径');foreach($word as $val){
//这样循环出来是文件的一行行内容,看你想怎么改一改,再组合成字符串,最后保存 file_put_contents('文件路径','文件内容');
}
3。php要能执行系统命令。exec(' 重启某服务的 freebsd命令 ');