Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP fputs() 함수 – 파일에 문자열 쓰기 완벽 가이드

PHP fputs() 함수란?

PHP의 fputs() 함수는 열려 있는 파일에 문자열을 기록하는 함수입니다. 이 함수는 fwrite() 함수의 별칭(alias)으로, 두 함수는 완전히 동일하게 동작합니다.

fputs() 함수는 성공 시 기록한 바이트 수를 반환하며, 실패하면 FALSE를 반환합니다.

또한 fputs() 함수는 파일의 끝(EOF)에 도달하거나 지정된 길이만큼 기록을 완료하면, 둘 중 먼저 해당되는 시점에서 작업을 중단합니다.

문법(Syntax)

fputs(file_pointer, string, length)

매개변수(Parameters)

  • file_pointer − fopen() 함수로 생성한 파일 포인터입니다. 필수 요소입니다.

  • string − 파일에 기록할 문자열입니다. 필수 요소입니다.

  • length − 기록할 최대 바이트 수입니다. 선택 요소입니다.

반환값(Return)

fputs() 함수는 성공적으로 실행되면 기록된 바이트 수를 반환하고, 실패하면 FALSE를 반환합니다.

예제 1: 파일에 텍스트 쓰기

다음 예제는 fopen()으로 파일을 연 뒤 fputs()를 사용해 문자열을 기록합니다.

<?php
    $file_pointer = fopen("new.txt", "w");
    echo fputs($file_pointer, "This is demo text!");
    fclose($file_pointer);
?>

아래는 실행 결과입니다. 기록된 바이트 수가 반환됩니다. ("This is demo text!"는 공백과 느낌표를 포함해 총 18바이트입니다.)

출력

18

예제 2: 지정된 길이만큼만 쓰기

다음 예제는 세 번째 매개변수인 length를 활용해 지정한 바이트 수만큼만 파일에 기록한 후, 해당 파일의 내용을 다시 읽어 화면에 출력합니다.

<?php
    $file_pointer = fopen("new.txt", "w");
    echo fputs($file_pointer, "This is demo text!", 4);
    fclose($file_pointer);

    $file_pointer = fopen("new.txt", "r");
    echo fread($file_pointer, filesize("new.txt"));
    fclose($file_pointer);
?>

4바이트만 기록하도록 지정했으므로 fputs()는 4를 반환하며, 파일에는 문자열의 앞 4바이트("This")만 저장됩니다.

출력

4

참고 사항

fputs()와 fwrite()는 이름만 다를 뿐 동일한 함수이므로 어느 쪽을 사용해도 무방하지만, 최근에는 의미가 더 명확한 fwrite()를 선호하는 경향이 있습니다. 또한 파일 작업이 끝난 후에는 반드시 fclose()로 파일 포인터를 닫아 리소스 누수를 방지하는 것이 좋습니다.