> 백엔드 개발 > PHP 튜토리얼 > 想做一个图片计数器,为什么小弟我的代码会报错

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

WBOY
풀어 주다: 2016-06-13 12:49:16
원래의
916명이 탐색했습니다.

想做一个图片计数器,为什么我的代码会报错
跟着视频学习
以下是 讲图片计数器前的铺垫,文字计数器
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);
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿