2013-10-17 53 views
0

我正在嘗試做一個網絡計數器,計數誰訪問我的網站。PHP網絡計數器

我使用txtfile作爲計數器,但是當我開始加載我的網頁時遇到了錯誤。

消息:file_put_contents()[function.file-把-內容]:文件名不能爲空

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

class Login extends CI_Controller{ 


    function _construct(){ 
     parent::__construct(); 
    } 
    function index(){ 

//Function Web Counter (count visitor) 
$filename = 'counterePOD.txt'; 
function inc_count() { 
    global $filename; 

    if (file_exists($filename)){ 
     $current_value = file_get_contents($filename); 
    }else{ 
     $current_value = 0; 
    } 

    file_put_contents($filename, ++$current_value); 
} 

inc_count(); 
    } 
    $this->load->view('login_view');  
    } 
} 
?> 

有人能告訴什麼是錯誤味精的確切含義:「文件名不能爲空」? ?

回答

0

你應該用一個更面向對象的方法和文件名傳遞給inc_count的功能:

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

class Login extends CI_Controller{ 


    function _construct(){ 
     parent::__construct(); 
    } 

    function inc_count($filename) { 

     if (file_exists($filename)){ 
      $current_value = file_get_contents($filename); 
     }else{ 
      $current_value = 0; 
     } 

     file_put_contents($filename, ++$current_value); 
    } 

    function index(){ 
     //Function Web Counter (count visitor) 
     $this->inc_count('counterePOD.txt'); 
     $this->load->view('login_view');  
    } 
} 
?> 
+0

我的txtcounter(counterePOD.txt)沒有統計。 –

+0

檢查該文件的寫入權限 – tCode

+0

對不起,但如何檢查該權限? –

0

將文件名作爲函數的參數傳遞,如下所示。使用全局變量是不是一個好的做法..

//Function definition 
function inc_count($filename) { 
    if (file_exists($filename)){ 
     $current_value = file_get_contents($filename); 
    }else{ 
     $current_value = 0; 
    } 

    file_put_contents($filename, ++$current_value); 
} 

//Function call 
$filename = 'counterePOD.txt'; 
inc_count($filename); 
+0

消息:缺少參數1 inc_count的(), –

+0

這是因爲你沒有通過函數調用期間的參數。檢查我更新的anser –

+0

好吧,沒有錯誤,但我的txtcounter沒有計算。 –