我正试着做一个网络计数器,那是访问我网站的计数号码。
我使用一个txtfile作为计数器,但是当我开始加载我的web时,会遇到一个错误。
消息: file_put_contents() Function.file-put内容:文件名不能为空
<?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');
}
}
?>有人可以知道错误信息的确切含义是什么:“文件名不能是空的”?
发布于 2013-10-17 09:00:58
您应该使用更多的OOP方法,并将文件名传递给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');
}
}
?>发布于 2013-10-17 09:00:14
将文件名作为函数的参数传递,如下所示。使用全局变量不是一个好的实践。
//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);https://stackoverflow.com/questions/19422206
复制相似问题