2014-10-22 2 views
0

Я пытаюсь записать некоторые данные JSON в файл вида в CodeIgniter.Запись данных в файл вида в CodeIgniter

Но это показывает ошибку:

Message: fopen() [function.fopen]: Filename cannot be empty

Функция управления выглядит следующим образом:

public function write_in_a_view_file() { 

    $data = array(); 
    $data['title'] = "Write This Title In a View File"; 

    $view_file = $this->load->view('result.php'); 

    $fp = fopen($view_file, 'w'); 
    fwrite($fp, json_encode($data)); 
    fclose($fp); 

} 
+0

Вы действительно var_dump() $ view_file, чтобы проверить, что он содержит? –

+0

Функция load-> codeigniter load -> void является функцией void, что означает, что она ничего не возвращает (или возвращает NULL). Таким образом, вы не можете открыть NULL. Возможно, вы можете попробовать загрузить данные JSON из своего представления? Или загрузите его как строку в свой контроллер, а затем передайте ее в свое представление. В любом случае это сработает. –

+0

Да, серьезно, почему вы хотите переписать файл вида в действии контроллера. !? – Ananth

ответ

2

Вы можете использовать CodeIgniter File Helper для этого.

public function write_in_a_view_file() { 
    $data = array(); 
    $data['title'] = "Write This Title In a View File"; 

    $this->load->helper('file'); 
    $new_file_path = base_url() . '/path/to/file.php'; // modify this line to point to the actual location of the file 
    write_file($new_file_path, json_encode($data)); 
} 
+0

public function write_in_a_view_file() { $ data = array(); $ data ['title'] = "Запись этого заголовка в файл вида"; $ this-> load-> helper ('файл'); $ new_file_path = base_url(). 'Общественного/result.php'; write_file ($ new_file_path, json_encode ($ data)); } –

1

Функция fopen принимает 2 аргумента, первое должно быть именем файла, в то время как вы ничего не передаете первому параметру.