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

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

WBOY
WBOYOriginal
2016-06-23 14:06:14804browse

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

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