php fgets STDIN 사용하여 문자열 비교시 질문
글쓴이: apmorz / 작성시간: 목, 2014/01/09 - 3:46오후
php 초보입니다.
리눅스의 tail 을 이용하여
tail -f 파일 | php test.php 이런식으로 실행한 후 fgets STDIN 으로 받아서 특정문자열을 비교 후
매칭이 되면 조건문을 실행할려고 하는데요
아래와 같이 코드를 작성했을 시 조건문이 else 부분만 실행이 되고 특정문자열이 tail에서 출력이 되어도 인식을 못하는것 같은데 tail 의 출력값을 fgets STDIN 으로 받아서는 인식 및 작동이 안되는 건가요???
고수분들 도와주시면 감사하겠습니다.
while($f = fgets(STDIN)){
echo "line: $f \n ";
$g = "특정문자열";
$h = strcmp($f, $g);
if ($h == 0)
{
echo "matching!!!!!!!!!!!\n";
}
else
{
echo "not matching\n";
}
}
Forums:
일단 "특정문자열"이 라인 전체를 말하는 것이
일단 "특정문자열"이 라인 전체를 말하는 것이 맞는지요? 문자열 라인에 포함된 일부 문자열이라면 strstr() 같은 다른 함수를 써야겠지요. 그런데 이건 아닐듯^^.
$f는 '\n'을 포함하는군요. $f = rtrim($f, "\n"); 같이 '\n'을 제거하던지, $g = "특정문자열\n"; 으로 바꾸시던지 등의 방법을 써야 할 듯합니다.
댓글 달기