我有这个我要保存的变量:
$counter = $counter['counter']++;
使其在刷新页面时递增。 因此,我决定使用fopen,覆盖$ counter变量然后保存它。 我还是初学者,我不知道fopen,fgets,fclose是如何工作的。
所以我写了这样的东西。
$fp = fopen("file.php","r");
fwrite($fp, $counter);
fclose($fp);
所以我想打开文件(file.php)(我正在编写此代码FYI的文件),然后在增加后覆盖变量,然后通过关闭保存它。
但代码似乎并不想工作,变量似乎不想增加。 我究竟做错了什么? 我是否希望将此$计数器放在另一个文件中并从那里提取变量。
仅供参考:我不想使用session_start()和$ _SESSION,因为我使用的是cron作业,但它不起作用。
修改
$result = mysql_query('SELECT MIN(ID) AS min, MAX(ID) AS max FROM ytable') or exit(mysql_error());
$row = mysql_fetch_assoc($result);
if($counter['counter'] < $row['max']){
if (isset($counter['counter'])){
$counter = $counter['counter']++;
}else{
$counter = $counter['counter'] = 0;
}
}
对于那些困惑的人来说,这是更多的代码
答案 0 :(得分:2)
您可以像这样阅读文件。使用之前的计数器打开文件&amp;获取计数器,像这样递增
$counter = readfile("file.php");
$counter++;
要写入文件,请以写入模式打开文件
$fp = fopen("file.php","w");
fwrite($fp, $counter);
fclose($fp);
您正在寻找的结果是什么?
正如chris85所建议的那样,数据库被用于这种情况。最好使用数据库而不是文件处理。
答案 1 :(得分:1)
所以说你有file.txt
并且包含5
。在同一目录中,您有script.php
;这个文件有
$counter = file_get_contents('file.txt'); // this takes in whatever value is in the file e.g in this case '5'
$counter++; // increment the value by 1 so we are now at 6
file_put_contents('file.txt', $counter); //write the value '6' back to the file
第一次加载后, file.txt
会有6
。