Счетчик посещений в Codeigniter

У меня есть код ниже:

(Шаг за шагом)

  1. Поместите counter.txt в APPPATH . 'logs/counter.txt'
  2. Сделать counter_helper.php установленным в APPPATH . 'helpers/counter_helper.php';
  3. Автозагрузка вновь созданного хелпера в APPPATH . 'config/autoload.php' файле;
  4. Сделать MY_Controller.php в APPPATH . 'core/MY_Controller.php'
  5. Любой контроллер должен расширять MY_Controller вместо CI_Controller;
  6. Повторите это на странице с помощью: <?php echo $this->count_visitor;?>

Помощник:

<?php defined('BASEPATH') OR exit('No direct script access allowed.');

if ( ! function_exists('count_visitor')) {
    function count_visitor()
    {
        $filecounter=(APPPATH . 'logs/counter.txt');
        $kunjungan=file($filecounter);
        $kunjungan[0]++;
        $file=fopen($filecounter, 'w');
        fputs($file, $kunjungan[0]);
        fclose($file);
        return $kunjungan[0];
    }
}

Ядро :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends CI_Controller
 {
  public $count_visitor;
  public function __construct()
   {
     parent::__construct();
      $this->count_visitor = count_visitor();
   }   
 }
/* End of file MY_Controller.php */
/* Location: ./application/core/MY_Controller.php */

Контроллер:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 class Home extends MY_Controller {
 public function index() {
 $data=array('isi'      =>'home/index_home');
$this->load->view('layout/wrapper',$data); 
 }
}

Вид :

<?php echo $this->count_visitor;?>

Код возвращает ошибку, как показано ниже: введите здесь описание изображения


person ariyanti dwiastuti    schedule 28.07.2015    source источник
comment
не могли бы вы вставить код, связанный с помощником, из вашего /config/autoload.php?   -  person Vishal Patel    schedule 28.07.2015
comment
Да, я написал эту инструкцию, и она проверено и отлично работает. Не забудьте загрузить хелпер. И переименовать файл MY_Controller.php, как я только что написал.   -  person Tpojka    schedule 29.07.2015
comment
да... это работа. я просто забыл загрузить хелпер в автозагрузку.   -  person ariyanti dwiastuti    schedule 29.07.2015


Ответы (2)


У меня все заработало, когда я загрузил помощника $this->load->helper('counter');

приложение > ядро ​​> MY_Controller.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends CI_Controller
{
    public $count_visitor;

    public function __construct()
    {
        parent::__construct();
        $this->load->helper('counter');
        $this->count_visitor = count_visitor();
    }   
}
person Mr. ED    schedule 28.07.2015

Да, должен загрузить помощник:

$this->load->helper('counter');

or

config/autoload.php: $autoload['helper'] = array('counter');

person Palash Ghatak    schedule 28.04.2018