¿Cómo puedo usar PHP y JavaScript para hacer una imagen puede hacer clic, y incrementar un contador almacena como un archivo plano?

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

  •  13-09-2019
  •  | 
  •  

Pregunta

Im tratando de encontrar un script php / js que me permita tomar una imagen, y cuando se hace clic, aumentar el número en un archivo plano, y guardar el archivo.

Yo sé cómo incluir el archivo para obtener el total de votos.

Im volverse loco tratando de encontrar este para enchufar y jugar en mi sitio web. Id encantaría tener el registro de IP, y un fundido fresco en cosa de actualización de entrada / salida de refresco. Pero en este punto Settle enfermo para lo básico.

Id como para evitar el uso de MySQL, pero si su necesaria i puede trabajar con él.

¿Fue útil?

Solución

Su mejor opción es utilizar el soporte de AJAX en jQuery para el acceso, pero no cargar al usuario, algún tipo de URL que escribe el incremento en el fichero. Si está utilizando cualquier tipo de una plataforma a fondo, se debe considerar haciendo en el de su base de datos. Sin embargo, sería bastante simple de usar la función de jQuery $ .get () para acceder a la /increment_number.php?image=whatever.jpg URL. Si alguna vez empezar a usar una base de datos, usted apenas tiene que cambiar esta secuencia de comandos para realizar una consulta de base de datos. Para su caso, tendría un script sencillo como esto (que ha sido optimizado de ninguna manera o tiene alguna consideraciones de seguridad en absoluto):

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

Y sólo recuerda a tener la siguiente poco de JS en la página con la imagen:

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

No he probado este código por lo que no podría funcionar, pero está en el espíritu de lo que tendría que hacer.

Otros consejos

Algo tan simple como esto no va a 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);
?>

Si usted está haciendo esto para un sistema de votación como el desbordamiento de la pila, la creación de una gran cantidad de archivos para almacenar este un bit de información va a ser difícil de manejar. Esto es perfecto para una base de datos.

De este modo, también no incluiría el archivo, sino que se realice una consulta para obtener la puntuación total.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top