プログラムとゲームを投稿しているサイトhttp://www.gfcf14greendream.com/があります。作成したプログラムをダウンロードするためのコードを書くのは問題ありませんが ([プログラム] ボタンをクリックしてから [SMS Sender] をクリックします)、カウンターを生成する方法についてかなり混乱しています。何よりもまず、自分でフォーマットしたいので、Web サイトのファイルを使用したくありません。私がこれを行うと考えた方法は、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);
?>
しかし、それでも運が悪い。このコードはまったく機能しますか、それとも参照を誤用していますか? ありがとうございました