我有一个网站http://www.gfcf14greendream.com/我发布我的程序和游戏。我编写代码来下载我制作的程序没有问题(点击程序按钮,然后点击短信发送器),但我对如何生成计数器感到很困惑。首先,我不想使用网站上的一个,因为我真的很想自己格式化它。我想这样做的方法是使用一个txt文件,smssender.txt,它简单地有:
0
那么处理txt文件覆盖的站点的javascript是:
$("#downbutton").click(function () {
downcounter++;
if (downcounter == 1) $("#counter").text("SMS Sender has been downloaded " + downcounter + " time...");
else $("#counter").text("SMS Sender has been downloaded " + downcounter + " times...");
$.post("http://www.gfcf14greendream.com/PHP/smssender.php", {
counter: downcounter
}, function (data) {});
});
它应该调用一个 PHP 文件 smssender.php,它只有 5 行:
<?php
$counter = $_POST['counter'];
file_put_contents("/counters/smssender.txt", $counter);
?>
我希望我知道是否调用了 php 页面,因为更改页面中指示下载时间的文本的代码运行良好,但是一旦刷新页面,下载次数就会回到 0,因为 0 是从此代码中获得的:
var downcounter = 0;
$.get("http://www.gfcf14greendream.com/counters/smssender.txt", function (data) {
downcounter = data;
if (downcounter == 1) $("#counter").text("SMS Sender has been downloaded " + downcounter + " time...");
else $("#counter").text("SMS Sender has been downloaded " + downcounter + " times...");
});
这清楚地表明没有发生覆盖,因为它成功地从 smssender.txt 检索到 0(我之前尝试过使用 1 和 2 并且它有效)。那么为什么代码是错误的呢?任何形式的帮助都非常感谢。感谢您的宝贵时间,祝大家新年快乐!!
更新:
我尝试将javascript函数的代码更改为:
var txtfile = "http://www.gfcf14greendream.com/counters/smssender.txt";
$.ajax({
type:'POST',
url: 'PHP/increment.php',
data: txtfile,
success: function() {
alert("Download incremented");
$.get("http://www.gfcf14greendream.com/counters/smssender.txt", function(data){
downcounter = data;
if (downcounter == 1) $("#counter").text("SMS Sender has been downloaded " + downcounter + " time...");
else $("#counter").text("SMS Sender has been downloaded " + downcounter + " times...");
});
}
});
并添加了一个 PHP 文件 increment.php,其中包含您在此处给我的一些代码:
<? php
$file = $_POST['txtfile'];
$counter = intval(file_get_contents($file));
$counter++;
file_put_contents($file, $counter);
?>
但是,仍然没有运气。这段代码会起作用还是我滥用了引用?谢谢