PHP 및 JavaScript를 사용하여 이미지를 클릭 할 수 있고 플랫 파일로 저장된 카운터를 증가시키는 방법은 무엇입니까?

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

  •  13-09-2019
  •  | 
  •  

문제

IM은 이미지를 가져갈 수있는 PHP/JS 스크립트를 찾으려고 노력하고 클릭하면 플랫 파일의 숫자를 늘리고 해당 파일을 저장합니다.

투표 총계를 얻기 위해 파일을 포함시키는 방법을 알고 있습니다.

내 웹 사이트에 플러그 앤 플레이를 위해 이것을 찾으려고 노력하고 있습니다. ID는 IP 로깅을 좋아하고 멋진 페이드 인/out 새로 고침 업데이트를 좋아합니다. 그러나이 시점에서 나는 기본에 정착했다.

Id는 MySQL 사용을 피하고 싶지만 필요한 경우 작업 할 수 있습니다.

도움이 되었습니까?

해결책

가장 좋은 방법은 jQuery의 Ajax 지원을 사용하여 액세스하지만 파일에 증분을 기록하는 일종의 URL, 사용자에게로드하지 않는 것입니다. 철저한 플랫폼을 사용하는 경우 데이터베이스와 함께 수행해야합니다. 그러나 jquery의 $ .get () 함수를 사용하여 url /increment_number.php?image=wathere.jpg에 액세스 할 수있을 정도로 간단합니다. 데이터베이스 사용을 시작한 경우 DB 쿼리를 수행하려면이 스크립트를 변경하면됩니다. 귀하의 경우에는 이와 같은 간단한 스크립트가 있습니다 (최적화되지 않았거나 보안 고려 사항이 없습니다).

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

Stack Overflow와 같은 투표 시스템을 위해이 작업을 수행하는 경우이 정보를 저장할 수있는 많은 파일을 작성하면 다루기 어려워 질 것입니다. 이것은 데이터베이스에 적합합니다.

그렇게하면 파일도 포함하지 않지만 총 점수를 얻기 위해 쿼리를 수행합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top