나는 내 웹 사이트에 투표 '설문 조사'를하고 결과를 저장하기 위해 텍스트 파일을 사용합니다. 기본적으로 기존 결과를 읽고 새로운 결과를 증가시키고 다시 저장합니다.PHP 텍스트 파일 쓰기 및 읽기
그러나 파일을 읽은 다음 파일을 저장하는 것으로 보입니다. 하지만 나중에 다시 확인하기 위해 데이터를 다시 읽을 때 파일이 제대로 저장되지 않은 것으로 보입니다 ... 내가 쓴 것이 확실하지 않고 방문자 카운터가 있으므로 읽기/쓰기가 가능한 웹 서버 권한이 있어야합니다. 텍스트 파일 텍스트 파일 형식으로 저장됩니다
<?php
$vote = $_REQUEST['vote'];
//open file read current votes
$contents = file("poll_result.txt");
//put content in array, split between the ;
$array = explode(";", $contents[0]);
$yes = $array[0];
$no = $array[1];
echo("Opened file and read contents. YES-" . $yes . " NO-" . $no . "<br>");
//Check if it's a yes or no vote
if ($vote == 0)
{
$yes = $yes + 1;
echo("Incremented yes vote, it is now" . $yes . "<br>");
}
if ($vote == 1)
{
$no = $no + 1;
echo("Incremented no vote, it is now" . $no . "<br>");
}
//insert new votes to txt file
$insertvote = $yes. ";". $no;
echo("To insert: " . $insertvote . "<br>");
$wfile = fopen('poll_result.txt', w);
fputs($wfile, $insertvote);
echo("Done.");
//////////////////////////////////////////////////
//open file read current votes
$contents = file("poll_result.txt");
//put content in array, split between the ||
$array = explode(";", $contents[0]);
$yes = $array[0];
$no = $array[1];
echo("Re-read data: " . $yes . "|" . $no);
?>
: 여기
는 코드 poll_vote.php입니다 0; 당신은 제대로 디스크에 기록 할 파일을 닫아야합니다 0
오류보고를 사용합니다. 보고 된 오류가 있습니까? 파일을 검사하십시오. 마지막으로 수정 한 날짜가 업데이트되고 있습니까? 팁 : 파일 이름을 변수에 넣고 everyplace의 "poll_results.txt"를 하드 코딩하지 말고 .... –
또한이 폴링이 얼마나 바쁜지에 따라 이미 열려있는 경우 파일에 액세스하는 문제가 발생할 수 있습니다 쓰기. 잠재적으로 데이터가 손실 될 수 있습니다. –
'w'에 따옴표가 없습니다. 그리고 파일을 닫지 않습니다. –