라이브러리
[PHP] fsockopen - 인터넷 또는 Unix 도메인 소켓 연결 열기
PHP의 fsockopen() 함수
PHP의 `fsockopen()` 함수는 TCP/IP 소켓을 열어주는 함수입니다. 이 함수를 사용하면 PHP가 네트워크에 접속할 수 있습니다. `fsockopen()` 함수는 `socket` 함수를 사용하는 것보다 더 쉬운 방법으로 네트워크에 접속할 수 있습니다.
fsockopen() 함수의 사용법
`fsockopen()` 함수의 사용법은 다음과 같습니다.
#hostingforum.kr
php
fsockopen($host, $port, &$errno, &$errstr, $timeout)
* `$host`: 접속할 서버의 호스트 이름 또는 IP 주소입니다.
* `$port`: 접속할 서버의 포트 번호입니다.
* `&$errno`: 에러 번호를 저장할 변수입니다. 에러가 발생하면 이 변수에 에러 번호가 저장됩니다.
* `&$errstr`: 에러 메시지를 저장할 변수입니다. 에러가 발생하면 이 변수에 에러 메시지가 저장됩니다.
* `$timeout`: 접속을 시도하는 데 걸리는 시간입니다. 0을 지정하면 무한 대기합니다.
예제
다음 예제에서는 `fsockopen()` 함수를 사용하여 HTTP 요청을 보내는 방법을 보여줍니다.
#hostingforum.kr
php
$host = 'www.example.com';
$port = 80;
$timeout = 5;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$fp) {
echo "에러 발생: $errstr ($errno)
";
} else {
echo "접속 성공
";
$req = "GET / HTTP/1.1
";
$req .= "Host: $host
";
$req .= "Connection: Close
";
$req .= "
";
fwrite($fp, $req);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
이 예제에서는 `fsockopen()` 함수를 사용하여 `www.example.com` 서버에 접속합니다. 접속이 성공하면 HTTP 요청을 보내고, 서버의 응답을 읽어 출력합니다.
주의점
* `fsockopen()` 함수를 사용할 때는 서버의 호스트 이름이나 IP 주소를 정확하게 입력해야 합니다.
* `$timeout` 변수를 0으로 지정하면 무한 대기가 발생할 수 있으므로 주의해야 합니다.
* `fsockopen()` 함수를 사용할 때는 에러를 처리하는 코드를 반드시 포함해야 합니다.
이번에는, PHP의 `fsockopen()` 함수를 사용하여 FTP 서버에 접속하는 예제를 보여드리겠습니다.
#hostingforum.kr
php
$host = 'ftp.example.com';
$port = 21;
$timeout = 5;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$fp) {
echo "에러 발생: $errstr ($errno)
";
} else {
echo "접속 성공
";
$req = "USER anonymous
";
fwrite($fp, $req);
$res = fgets($fp, 128);
echo $res;
$req = "PASS anonymous
";
fwrite($fp, $req);
$res = fgets($fp, 128);
echo $res;
$req = "LIST
";
fwrite($fp, $req);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
이 예제에서는 `fsockopen()` 함수를 사용하여 `ftp.example.com` FTP 서버에 접속합니다. 접속이 성공하면 FTP 서버에 로그인하고, 파일 목록을 읽어 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.