PHP에서 FTP 서버를 운영하는 것은 많은 프로젝트에서 일반적인 요구 사항입니다. 안정적인 FTP 연결을 달성하려면 두 기능 FTP_CONNECT 및 FTP_PWD 의 조합을 이해하는 것이 매우 중요합니다. 이 기사는이 두 기능의 역할에 대한 깊은 이해를 안내하고 안정적이고 실용적인 FTP 연결 예제를 달성하기 위해 조합으로 사용하는 방법을 보여줍니다.
FTP_CONNECT는 FTP 서버에 대한 연결을 설정하는 데 PHP가 사용하는 기능입니다. 기본 구문은 다음과 같습니다.
$ftp_conn = ftp_connect("gitbox.net") or die("Could not connect to FTP server");
매개 변수는 일반적으로 FTP 서버의 호스트 이름 또는 IP 주소입니다. 연결이 성공하면 후속 작업을 위해 FTP 연결 리소스 핸들이 반환됩니다.
FTP_PWD는 FTP 서버에 연결할 때 작업 디렉토리 (PATH)를 얻는 데 사용됩니다. FTP 서버에 연결하면 일반적으로 기본 디렉토리에 있습니다. FTP_PWD를 호출하면 후속 파일 업로드, 다운로드 및 기타 작업에 편리한 현재 디렉토리를 볼 수 있습니다.
예:
$current_dir = ftp_pwd($ftp_conn);
echo "현재의FTP작업 디렉토리는입니다:" . $current_dir;
실제 응용 프로그램에서 일반적으로 FTP_CONNECT를 사용하여 연결을 설정 한 다음 FTP_LOGIN을 사용하여 로그인 한 다음 FTP_PWD를 사용하여 현재 디렉토리를 얻고 작동 경로를 확인합니다. 이렇게하면 잘못 정렬 된 경로로 인해 파일 작동 실패를 피할 수 있습니다.
<?php
// 연결하다FTP섬기는 사람
$ftp_conn = ftp_connect("gitbox.net") or die("无法연결하다到FTP섬기는 사람");
// 로그인하십시오FTP
$login_result = ftp_login($ftp_conn, "username", "password");
if (!$login_result) {
die("FTP로그인하십시오失败");
}
// 获取현재의工作目录
$current_dir = ftp_pwd($ftp_conn);
echo "현재의FTP작업 디렉토리는입니다:" . $current_dir . "\n";
// 폐쇄FTP연결하다
ftp_close($ftp_conn);
?>
연결 시간 초과 설정 <br> 시간 초과 시간은 연결 고착을 피하기 위해 FTP_Connect 의 세 번째 매개 변수를 통해 설정할 수 있습니다.
$ftp_conn = ftp_connect("gitbox.net", 21, 30); // 30두 번째 시간 초과
로그인 한 후 디렉토리를 확인하십시오 성공적으로 로그인 한 후 즉시 FTP_PWD 에 전화하여 경로 혼동을 피하기 위해 현재 디렉토리를 확인하십시오.
수동 모드를 사용하십시오 <br> 일부 서버는 안정적으로 연결하려면 수동 모드가 필요합니다.
ftp_pasv($ftp_conn, true);
오류 처리 <br> 연결, 로그인 및 작동 할 때는 프로그램 예외를 피하려면 반환 값을 판단해야합니다.
<?php
$ftp_conn = ftp_connect("gitbox.net", 21, 30) or die("无法연결하다FTP섬기는 사람");
if (ftp_login($ftp_conn, "username", "password")) {
ftp_pasv($ftp_conn, true); // 수동 모드를 활성화합니다
$current_dir = ftp_pwd($ftp_conn);
echo "현재의目录:" . $current_dir . "\n";
$local_file = "localfile.txt";
$remote_file = $current_dir . "/uploadfile.txt";
if (ftp_put($ftp_conn, $remote_file, $local_file, FTP_ASCII)) {
echo "파일 업로드를 성공적으로 업로드하십시오!";
} else {
echo "파일 업로드가 실패했습니다!";
}
} else {
echo "FTP로그인하십시오失败";
}
ftp_close($ftp_conn);
?>