我正在做我的项目,使用我使用codeigniter创建的网页更新BIND服务器中named.conf.local的内容。当我运行它时,文件无法写入。这些是我的控制器代码:
function index() {
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('domain_name','Domain Name','required');
$this->form_validation->set_rules('mail', 'Mail', 'required');
$this->form_validation->set_rules('localhost', 'Localhost', 'required');
if ($this->form_validation->run() == FALSE) {
$this->load->view('dns_form');
} else {
$domain_name = $this->input->post('domain_name');
$mail = $this->input->post('mail');
$localhost = $this->input->post('localhost');
$data = $domain_name . "\n" . $mail . "\n" . $localhost;
if (!read_file('/etc/bind/named.conf.local' . $domain_name, $data, 'a+')) {
echo 'Unable to write this file';
} else {
echo 'File written!';
}
}
我已使用chmod -R 777 /etc/bind
授予服务器权限。我的代码出了什么问题?谢谢你的帮助。
答案 0 :(得分:1)
尝试这个适用于你的方式 - >
$file ='file_path';
$data = 'Your Data';
file_put_contents($file, $data , FILE_APPEND | LOCK_EX);
答案 1 :(得分:0)
要注意,read_file('/ path / to / file')只接受一个参数。此路径文件将从index.php的位置开始