2016-07-04 5 views
0

내 사이트 수를 세는 PHP 스크립트를 찾았습니다. 그것은 정수 타입으로 다운로드 카운트를 txt 파일에 저장합니다. count.txt가 "109"만 포함하는 것처럼, 파일은 109 번 다운로드되었습니다. 네이티브 javascript를 사용하여 다운로드 횟수를 표시하고 싶습니다. PHP가 아닙니다. 변수로서 txt 파일에서 정수 데이터를 얻고 싶을뿐입니다. 그것은 가능한가? 가능하다면 어떻게?텍스트 파일에서 Javascript 변수로 정수 데이터를 가져 오는 방법은 무엇입니까?

PHP 스크립트는 다음과 같습니다

<html> 
<head> 
<meta http-equiv="refresh" content="0;url=1.jpeg"> 
</head> 
<body> 

<?php 

$fp = fopen("Count.txt", "r"); 
$count = fread($fp, 1024); 
fclose($fp); 
$count = $count + 1; 
$fp = fopen("Count.txt", "w"); 
fwrite($fp, $count); 
fclose($fp); 

?> 

</body> 
</html> 
+0

count.txt에서 변수를 얻을 수 있도록이 JS 사용했습니다. 보안상의 이유로 JavaScript는 시스템에 저장된 파일의 데이터를 읽을 수 없습니다. 왜 카운트를 저장하기 위해 localStorage를 사용하도록 스크립트를 수정하지 않으시겠습니까? 매우 쉽게 읽을 수 있습니다. – onetwo12

+0

onetwo12가 맞습니다. PHP는 서버 측 언어입니다. JavaScript는 클라이언트 측 언어입니다. 다운로드 횟수를 표시하려면 데이터베이스 테이블을 증가시키는 PHP 스크립트를 찾거나 쓰거나 파일을 읽고 결과를 출력하는 PHP 스크립트를 작성해야합니다. 당신은 이미 당신이 그것을 쓰는 데 필요한 대부분을 가지고 있습니다. – DottedT

+1

URL로 액세스 할 수있는 경우 .txt를 가져올 수있는 XHR 요청을 할 수 있습니다. 그렇지 않으면 @ onetwo12가 말한 내용입니다. – GGG

답변

0

나는 XMLHttpRequest의 난 당신이 그렇게 할 수 있다고 생각하지 않습니다

<h1>Downloaded <span id="displaydlcount"></span> Times! 

<script type="text/javascript"> 
    function lol(){ 
     var read = new XMLHttpRequest(); 
     read.open('GET', 'Count.txt', false); 
     read.send(); 
     var displayName = parseInt(read.responseText) 
     document.getElementById("displaydlcount").innerHTML = displayName; 
     setTimeout("lol()",1000) 
     } 
     window.onload = lol(); 
</script> 
0

당신이 사용하는 AJAX를 얻을 수 있습니다.

$(document).ready(function(){ 
     $.ajax({ 
      url: "Count.txt", 
      success: function (dataString){ 
       console.log(dataString); 
      } 
     }); 
}) 

참고 : 다음 txt 파일을 가정하면 스크립트를 실행 파일과 같은 디렉토리에, 당신은이 코드를 사용할 수 있어야합니다 이것은 로컬 호스트에서 작동하지 않는 것,하지만 나는 그것을 테스트 내 서버에 있었고 작동했습니다.

+0

고마워, 나는 정수 데이터를 얻기 위해 XMLhttpRequest를 사용 해왔다. –

+0

다행 이니 다행입니다. jQuery의 아약스 버전은 "더 친숙한"구문을 가지고 있습니다. –

관련 문제