ftp 로 파일 전송시 Failed to establish connection 해당 오류가 발생 하면
크키가 0인 파일만 만들어 지고 데이터가 올라 가지 않는다
ftp 환경에 따라 ftp_pasv($ftpConnection, true); 를 이용 하여 '수동모드'로 작동 해야 합니다
ftp_pasv($ftpConnection, true) 함수를 사용 할 때 아무데나 넣어서 작동 하진 않고 로그인이 끝나고 작성 해야 합니다
로그인 전에 해당 함수를 넣으면 동일한 에러가 발생합니다
<?php
// FTP 서버 접속 정보 설정
$ftpServer = '접속서버';
$ftp_port = "기본은 21port";
$ftpUsername = '';
$ftpPassword = '';
$remoteFilePath = '/var/www/html/file_name'; // 원격 파일 경로
$localFilePath = '/home/lhs/file2_name'; // 로컬에 저장할 파일 경로 및 이름
//remoteFilePath 경로에 있는 파일을 -> localFilePath 경로로 가져온다
/* fopen함수는 PHP에서 파일을 열기 위해 사용되는 함수
localFilePath 파일을 w+ 읽기/쓰기 모드로 파일을 연다 */
$fp = fopen($localFilePath, 'w+');
// FTP 서버에 연결
$ftpConnection = ftp_connect($ftpServer ,$ftp_port);
if (!$ftpConnection) {
die('FTP 서버에 연결할 수 없습니다.');
}
// FTP 로그인
$loginResult = ftp_login($ftpConnection, $ftpUsername, $ftpPassword);
if (!$loginResult) {
die('FTP 로그인에 실패했습니다.');
}
// 수동모드로 변경
ftp_pasv($ftpConnection, true);
// 파일 다운로드
if (ftp_fget($ftpConnection, $fp, $remoteFilePath, FTP_BINARY)) {
while(!feof($fp)){
$file .= fread($fp, 1024);
}
echo "Successfully written to $localFilePath\n";
} else {
echo '파일 다운로드 실패: ';
}
// FTP 연결 해제
ftp_close($ftpConnection);
?>
[php] ftp 이용 하여 원격파일 다운로드 하기 (0) | 2023.07.26 |
---|---|
[php] 로그 파일 생성 하기 슈퍼전역변수 fopen,fputs,fclose (0) | 2023.01.05 |
[PHP] 날짜 지정 strtotime 날짜 지정 하는 예제 (0) | 2022.11.10 |
[php] 날짜 계산 date,strtotime 자료형 (2) | 2022.10.18 |
[linux] iptables restore iptable 규칙,포트 허용 하기 (0) | 2022.08.08 |
댓글 영역