2012-07-22 2 views
0

나는 호기심에 처해있다. 내가 CakePHP는 2.0 (로컬) 사용하고, XAMPP 나는 내 홈페이지에 간단한 횟수 카운터를 추가하고 싶었다 그래서 나는Cakephp 유령 파일

<?php 
$filename = 'hitcount.txt'; 
$handle = fopen($filename, 'r'); 
$hits = trim(fgets($handle)) + 1; 
fclose($handle); 

$handle = fopen($filename, 'w'); 
fwrite($handle, $hits); 
fclose($handle); 

echo $hits; 

을 포함 hitcount.txt라는 이름의 텍스트 파일이 있습니다 (매우 매우 간단) 다음 코드를 추가 히트 수 (페이지를 방문 할 때마다 히트 수가 증가해야 함). 그것은 작동합니다. 이 문제는 hitcount.txt 파일에 액세스하려고 시도했을 때 나타납니다. 그것은 비어 있었지만 $hits의 메아리가 정확한 결과를 반환했습니다! 나는 파일을 지웠고 여전히 예상 결과를 보여줍니다! 나는 다른 브라우저를 사용했다. 나는 CakePHP의 캐시를 삭제했다. 나는 다른 페이지에서 같은 코드 조각을 사용했으며 예상 오류를 반환하여 예상 결과를 반환했습니다.

Cakephp는 어떻게 존재하지 않는 파일을 "볼"수 있습니까? 아파치와 관련이 있습니까?

답변

0

아마도 CakePHP의 잘못된 위치에서 파일을 보았을 것입니다. 내 생각 엔 CakePHP가 app/webroot/hitcount.txt에있는 파일을 언급 한 것 같습니다.

hitcount.txt의 전체 경로를 정의하여 사용자와 CakePHP가 둘 다 동일한 위치를 참조하도록 할 수 있습니다.

<?php 
$filename = TMP.'hitcount.txt'; 

이렇게하면 파일이 'app/tmp/hitcount.txt'에 위치합니다.

+0

그게 전부입니다. 감사. 이상한 일은 Windows의 검색 기능이 파일을 반환하지 않는다는 것입니다. – user1496047

관련 문제