데이터를 업데이트하지 않습니다 file_get_contents :내 작은 스크립트 gamercard.xbox.com에서 게이머 데이터를 가져 오기 위해 노력하고있어
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$regex = '/<div id=\"Gamerscore\">(.+?)<\/div>/';
$gamertag = 'Stallion83';
try {
$URL = file_get_contents('http://gamercard.xbox.com/en-US/' . $gamertag . '.card');
if ($URL == false) {
echo 'Error!';
}
} catch (Exception $e) {
echo $e;
}
preg_match($regex, $URL, $gs);
// Extract integer value from string
$gamerscore = filter_var($gs[1], FILTER_SANITIZE_NUMBER_INT);
// Force gs_int to be integer so it can be used with number_format later
$gs_int = (int)$gamerscore;
$textFile = 'data/gamerscore_' . $gamertag . '.txt';
// Save gamerscore value into everyone's own txt file
file_put_contents($textFile, $gs_int);
?>
지금이 작품
test.php를하고 안에 게이머 코어 번호 만있는 데이터 폴더에 .txt 파일을 만듭니다. 하지만 내 문제는 내가 다시 스크립트를 실행하면 gamerscore 값이 증가 스크립트는 내게 어떤 오류를주지 않습니다 그리고 그것은 잘 실행하는 것 같다지만 .txt 파일에 저장 gamerscore 값은 이전 값입니다.
URL http://gamercard.xbox.com/en-US/Stallion83.card으로 이동하여 본인의 스크립트와 다른 번호를 볼 수 있습니다.
캐싱 문제 일지 모르지만 file_get_contents가 캐싱을 사용하지 않는다고 생각합니다.
file_get_contents가 지정한 URL의 최신 내용을 강제로 가져올 수있는 다른 설정이 있습니까? 나는 타임 아웃을 사용해 보았지만 아무런 효과가 없었다.
그냥 다른 문제는 고려해야 할 어쩌면 파일이 (어떤 이유) 새 값으로 저장되지 않습니다. – FirstOne
$ gamerscore 또는 $ gs_int를 반향하는 경우 이전 값인 – user1589375
이 여전히 서버 측 캐싱 일 수 있습니다. – FirstOne