Como posso usar PHP e JavaScript para fazer uma imagem clicável, e incrementar um contador armazenado como um arquivo simples?

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

  •  13-09-2019
  •  | 
  •  

Pergunta

Estou tentando encontrar um script PHP / js que vai me deixar ter uma imagem e, quando clicado, aumentar o número em um arquivo simples, e salvar esse arquivo.

Eu sei como incluir o arquivo para obter o total de votos.

Im ficando louco tentando encontrar isso para plug and play no meu site. amor Id ter ip extração de madeira e um fade legal in / out coisa atualização de atualização. Mas neste momento Settle doente para o básico.

Id gostaria de evitar usando o MySQL, mas se o seu necessário que eu possa trabalhar com ele.

Foi útil?

Solução

Sua melhor aposta é usar o suporte AJAX em jQuery para acesso, mas não carregar para o usuário, algum tipo de URL que escreve o incremento para o arquivo. Se você estiver usando qualquer tipo de uma plataforma completa, você deve considerar fazer no com seu banco de dados. No entanto, seria bastante simples de usar $ .get do jQuery () para acesso a /increment_number.php?image=whatever.jpg URL. Se você nunca começar a usar um banco de dados, você apenas tem que mudar esse script para executar uma consulta DB. Para o seu caso, você teria um script simples como este (que tem sido em nenhuma maneira otimizada ou tem quaisquer considerações de segurança de qualquer natureza):

$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);

E lembre-se de ter o seguinte trecho de JS na página com a imagem:

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

Eu não testei este código para que ele não pode funcionar, mas é no espírito do que você teria que fazer.

Outras dicas

simples Algo como isso não vai funcionar?

<?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);
?>

Se você está fazendo isso por um sistema de votação como Stack Overflow, criando lotes de arquivos para armazenar este um bit de informação vai se tornar inviável. Isto é perfeito para um banco de dados.

Dessa forma, você também não inclui o arquivo, mas executar uma consulta para obter a pontuação total.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top