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

WBOY
發布: 2016-06-23 14:06:14
原創
806 人瀏覽過

跟着视频学习
以下是 讲图片计数器前的铺垫,文字计数器
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;

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……
谢谢!问题改过来了
但,正常是1,2,3,4,5,6
我的是1,3,5,7,9,

我测试是正常的,不知道你是怎么测试的。你刷新了两次?

<?php$filename='num.txt';if(file_exists($filename)){	//文件存在	$f=fopen($filename,'r+');	$num=(int)fgets($f);	$num++;	rewind($f);}else{	//文件不存在	$f=fopen($filename,'w');	$num=1;}fputs($f,$num);echo '你是第'.$num.'个访问该页面的人';fclose($f);
登入後複製

我是来学习的

我测试是正常的,不知道你是怎么测试的。你刷新了两次?
没有啊,左键单击一次啊,我也不能次次双击刷新啊
就是偶数或者奇数奇数的增加。
还有一事想问,怎么才能让EclipsePHP Studio 3可以支持中文命名。
我用的是中文版,但是文件夹或者文件名中含有汉字就会报错,起个英文名就好使了。

为什么要用中文命名?自找麻烦。。

为什么要用中文命名?自找麻烦。。
文件可以不用,但文件夹一般还是喜欢汉字。。。
请乔丹移步: http://bbs.csdn.net/topics/390432008

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板