Home >Backend Development >PHP Tutorial > 想做一个图片计数器,为什么小弟我的代码会报错

想做一个图片计数器,为什么小弟我的代码会报错

WBOY
WBOYOriginal
2016-06-13 12:49:16912browse

想做一个图片计数器,为什么我的代码会报错
跟着视频学习
以下是 讲图片计数器前的铺垫,文字计数器
if (!@$f=fopen("num.txt", "r")){
echo  "文件不存在啊";
$num=0;
}else {
fgets($f,10);
fclose($f);
}
$num++;
$ff = fopen("num.txt", "w");
fwrite($ff, $num);
fclose($ff);
echo $num;
?>
-------------------------------------------------------遇到的情况------------------------------------------------
运行第一次正常,可以建立新的num.txt文件,且计数器跳到1
但是再次运行,理应显示数字2
但显示如下
( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: num in C:\wamp\www\PHP100\PHP07-GraphicalCounter.php on line 42
Call Stack
# Time Memory Function Location
1 0.0006 253472 {main}( ) ..\PHP07-GraphicalCounter.php:0
1


------解决方案--------------------
先用file_exists函数判断文件是否存在
不存在:创建文件,并写入1
存在:打开文件,读出文件内容,加1后写入
------解决方案--------------------
if (!@$f=fopen("num.txt", "r")){
echo  "文件不存在啊";
$num=0;
}else {
$num=fgets($f,10);
fclose($f);
}
$num++;
$ff = fopen("num.txt", "w");
fwrite($ff, $num);
fclose($ff);
echo $num;
------解决方案--------------------
<?php<br />
$filename='num.txt';<br />
if(file_exists($filename)){<br />
	//文件存在<br />
	$f=fopen($filename,'r+');<br />
	$num=(int)fgets($f);<br />
	$num++;<br />
	rewind($f);<br />
}else{<br />
	//文件不存在<br />
	$f=fopen($filename,'w');<br />
	$num=1;<br />
}<br />
fputs($f,$num);<br />
echo '你是第'.$num.'个访问该页面的人';<br />
fclose($f);
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn