웹 사이트의 광고 (배너)를 기록하고 .dat 파일에 저장하는 PHP 스크립트가 있습니다. 이 파일 안에 ID, URL, 기타 중요한 정보가 저장됩니다. 내가 겪고있는 문제는 주어진 시간에 4 개의 광고가 페이지에 있으므로 PHP 스크립트가 열려있는 동안 PHP 스크립트가이 파일에 글을 쓰려고 할 때 .dat 파일이 종종 손상된다는 것입니다.
나는 확인하고, 그러나 그것은 나에게 도움이되지 않았다이 솔루션을 시도 : 내가 지금 사용하고있는 기능은 다음과 같습니다 PHP Simultaneous file access/flock() issuePHP Flock 열기 파일에 쓰기
:
function writeads(){
global $bannerAdsPath, $ads, $bannerAds;
$data = fopen($bannerAdsPath, 'w') or die();
flock($data, 2) or die();
fputs($data, @join("\n", $ads)."\n");
while (list ($key, $val) = each ($bannerAds)) {
if (($key != '') && ($val != '')) {
fputs($data, $key.'='.$val."\n");
}
}
flock($data, 3);
fclose($data);
reset($bannerAds);
}
내가 긁는 한으로 어떤 도움을 주시면 감사하겠습니다 잠시 동안 내 머리. 정보의 옆 비트, 클라이언트는 파일 대신 데이터베이스를 사용하도록 코드를 다시 작성하지 않으므로 옵션이 꺼져 있습니다.
감사합니다.
상수'LOCK_EX'와'LOCK_UN'을 사용하십시오. 이렇게하면 가독성이 향상됩니다. –