1

我试图找到一个可以让我拍摄图像的 php/js 脚本,单击时,增加平面文件中的数字,然后保存该文件。

我知道如何包含文件以获得投票总数。

我要疯了,试图找到这个插件并在我的网站上播放。我喜欢有 ip 日志记录,以及一个很酷的淡入/淡出刷新更新的东西。但在这一点上,我不能满足于基础。

我想避免使用 MySQL,但如果有必要,我可以使用它。

4

3 回答 3

4

最好的办法是使用 jQuery 中的 AJAX 支持来访问但不向用户加载某种将增量写入文件的 URL。如果您使用任何类型的完整平台,您应该考虑在您的数据库中进行操作。然而,使用 jQuery 的 $.get() 函数来访问 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'));
     });
);

我没有测试过这段代码,所以它可能不起作用,但它本着你必须做的精神。

于 2009-07-14T02:25:38.220 回答
3

像这样简单的东西行不通?

<?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);
?>
于 2009-07-14T02:25:02.777 回答
2

如果您为 Stack Overflow 之类的投票系统执行此操作,那么创建大量文件来存储这一点信息将变得笨拙。这对于数据库来说是完美的。

这样,您也不会包含该文件,而是执行查询以获取总分。

于 2009-07-14T02:20:41.753 回答