如何使用PHP和JavaScript来使图像可点击,并增加存储为平面文件的计数器?

StackOverflow https://stackoverflow.com/questions/1123132

  •  13-09-2019
  •  | 
  •  

我试着去寻找一个PHP / js脚本,可以让我拍摄图像,并且点击时,增加一个平面文件的数量,并保存该文件。

我知道如何包括文件,以获得总投票

我要去疯狂试图找到这种即插即用到我的网站。编号喜欢有IP记录,和输入/输出刷新更新的东西阴凉褪色。但在对基础知识这一点生病结算。

Id喜欢避免使用MySQL,但是如果它的必要我可以使用它。

有帮助吗?

解决方案

您最好的选择是使用jQuery中的Ajax支持的访问,但不加载到用户,某种URL中的增量写入文件。如果你使用任何一种彻底的平台,你应该考虑在你的数据库来执行。然而,这将会是很简单的使用jQuery的$。获得()函数来访问URL /increment_number.php?image=whatever.jpg。如果你开始使用数据库,你只需要改变这个脚本来执行数据库查询。对于你的情况,你有这样一个简单的脚本(这一直是绝不优化或有任何安全方面的考虑任何):

$image = $_GET['image'];
$number = file_get_contents('tracker_for_{$image}.txt');
if ($number != ''){
    $number = (int) $number + 1
}
$file = fopen('tracker_for_{$image}.txt', 'w');
fwrite($file, $number);
fclose($file);

和只记得有JS的以下位与图像在页面上:

$(document).ready(function(){
     $('img.incrementme').click(function(){
         $.get('/increment.php?'+$(this).attr('src'));
     });
);

我没有测试此代码,以便它可能无法正常工作,但它是在你不得不做的精神。

其他提示

一些简单的像这样将无法正常工作?

<?php
// Link to this file: <a href='onclick.php'><img src='yourimg'></a>
$count = file_get_contents("count.file");
$count += 1;
file_put_contents("count.file", $count);

// Possibly log an IP too? open a file
$f = fopen("ipaddresses.file", "a");
fwrite($f, $_SERVER["REMOTE_ADDR"] . "\n");
fclose($f);
?>

如果你这样做了投票系统像堆栈溢出,造成大量的文件来存储信息的这一位将变得笨拙。这是完美的一个数据库。

这样的话,你也将不包括该文件,但执行查询,以获得总分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top