2014-03-13 4 views
0

변수가없는 경우 :쓰기 변수 파일 내가이 작동하지 않는 이유를 잘 모르겠습니다

<?PHP 
$user = $_GET['user']; 
$write = $user . "\n"; 
if(strpos(file_get_contents("recent.txt"),$write) !== false){ 
    file_put_contents('recent.txt', $write, FILE_APPEND | LOCK_EX); 
} 
?> 

내가 뭐하는 거지하는 양식에서 검색 용어를 가져오고에 기록하는 것입니다 파일. 원래 코드가 설정되는 방식으로, 2014 년까지만 14,530,014 개의 항목을 가질 수 있습니다.

양식을 제출하면 (또는 ?user=SomeUser이 URL에 추가 된 경우) recent.txt에는 아무 것도 발생하지 않습니다. 어떤 도움을 주시면 감사하겠습니다. 이 파일에 포함되지 않은 경우이 정보를 작성하려는 경우

+1

file_get_contents가 작동하는지 테스트 해 보셨습니까? 한 번에 많은 작업을하고 있습니다. 먼저 각 작품이 먼저 작동하는지 확인 했습니까? – thescientist

답변

1

, 당신은

strpos(file_get_contents("recent.txt"),$write) === false 

!== false이 파일의 내용 이를 포함 할 수 있음을 의미

strpos(file_get_contents("recent.txt"),$write) !== false 

에 변경해야 당신이 찾고 있던 사용자. 문자열을 찾을 수 없으면 false을 반환합니다.

또한 isset()에 대한 호출을 추가하여 $_GET['user']이 실제로 설정되어 있는지 확인할 수 있습니다.

그리고이 파일이 얼마나 크게 나타날지에 따라 데이터베이스를 사용하면 훨씬 더 (더 효율적인) 옵션이 될 수 있습니다.

+0

그게 작동합니다. :) 이것으로하고 싶은 것은'recent.txt'에있는 단어를 바탕으로 검색 제안을하는 것입니다. 나는 스크립트가'recent.txt'에 비슷한 철자를 가진 3 개의 단어를 찾은 다음 그것들을 링크로 '반향'시키기를 원합니다. – AlfredPersonMc