read_file无法使用codeigniter

时间:2014-05-27 06:13:04

标签: php codeigniter ubuntu bind

我正在做我的项目,使用我使用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授予服务器权限。我的代码出了什么问题?谢谢你的帮助。

2 个答案:

答案 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的位置开始