ftp_systype() 함수는 현재 연결된 FTP 서버의 시스템 유형(운영체제) 식별자를 반환하는 PHP 내장 함수입니다. 이 함수를 활용하면 접속한 FTP 서버가 어떤 운영체제에서 동작 중인지 확인할 수 있어, 서버 환경에 따라 다른 처리 로직을 구현할 때 유용하게 사용됩니다.
문법(Syntax)
ftp_systype(con);
매개변수(Parameters)
con − ftp_connect() 또는 ftp_ssl_connect()로 생성한 FTP 연결 리소스를 전달합니다. 이 매개변수는 필수이며, 유효한 연결이 아니면 함수가 실패할 수 있습니다.
반환값(Return)
성공적으로 실행되면 해당 FTP 서버의 시스템 유형 문자열(예: UNIX, Windows_NT 등)을 반환하고, 실패하면 FALSE를 반환합니다.
사용 예제(Example)
다음은 ftp_systype() 함수를 사용하여 FTP 서버의 시스템 유형을 확인하는 예제입니다.
<?php
$ftp_server = "192.168.0.4";
$ftp_user = "jacob";
$ftp_pass = "tywg61gh";
// SSL 기반 FTP 연결 시도
$conn = ftp_ssl_connect($ftp_server) or die("Could not connect to $ftp_server");
// 로그인
$login = ftp_login($conn, $ftp_user, $ftp_pass);
// 서버 시스템 유형 조회
if ($t = ftp_systype($conn)) {
echo "System type = $t";
} else {
echo "Cannot get the type!";
}
// 연결 종료
ftp_close($conn);
?>
참고 사항
예제 코드에서 연결 변수는
$conn으로 선언되어 있으므로, 마지막에 호출하는 ftp_close() 함수에도 반드시 같은 변수를 전달해야 합니다.반환되는 시스템 유형 문자열은 서버마다 다를 수 있으므로, 특정 값을 비교할 때는 대소문자 처리에 주의하는 것이 좋습니다.
PHP 8.0부터는 FTP 연결 실패 시 false 대신 예외를 던지는 방식으로 동작이 일부 변경되었으므로, 최신 버전에서는 에러 처리 로직을 함께 고려하는 것이 좋습니다.