Heim  >  Artikel  >  Backend-Entwicklung  >  想做一个图片计数器,为什么小弟我的代码会报错

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

WBOY
WBOYOriginal
2016-06-13 12:49:16884Durchsuche

想做一个图片计数器,为什么我的代码会报错
跟着视频学习
以下是 讲图片计数器前的铺垫,文字计数器
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);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn